欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

汇编hello world(不打不知道,一打吓一跳

程序员文章站 2022-05-28 09:40:54
...

The first program in IBM(hello world)

反思

  1. D S DS DS一定要弄好
  2. 字符串以美元符号结尾
S1      SEGMENT STACK
        DW      40H DUP(?)
TOP     LABEL WORD
S1      ENDS
S2      SEGMENT
        hello DB 'Hello World$'    ;rember to add '$'
        CRLF    DB 0DH,0AH,24H
S2      ENDS
S3      SEGMENT
        ASSUME   CS:S3, DS:S2, SS:S1
P4      PROC    FAR
        MOV AX, S1
        MOV SS, AX
        LEA SP, TOP
        MOV AX, S2
        MOV DS, AX
        LEA DX, CRLF
        MOV AH, 9H
        INT 21H
        LEA DX, hello
        MOV AH, 9H
        INT 21H
        MOV AH,4CH
        INT 21H
S3      ENDS
END     P4


The second program in IBM(对于一个数,之后以2进制输出)

S1 SEGMENT STACK
   DW 30H DUP(?)
TOP LABEL WORD
S1 ENDS
S2 SEGMENT
        V3 DW 27452
S2 ENDS
S5 SEGMENT
   ASSUME CS:S5, DS:S2, SS:S1
P6 PROC FAR
    MOV AX,S1
    MOV SS,AX
    MOV SP, OFFSET TOP
    MOV AX, S2
    MOV DS,AX
    MOV CX, 16
    MOV BX, V3
    XOR DX, DX
L7: ROL BX,1
    MOV DL,1
    AND DL,BL
    ADD DL,30H
    MOV AH, 2
    INT 21H
    LOOP L7
    MOV AH,4CH
    INT 21H
    P6 ENDP
    S5 ENDS
    END     P6



第3个程序(求平均数)

S1      SEGMENT STACK
        DW      40H DUP(?)
TOP     LABEL   WORD
S1      ENDS
S2      SEGMENT
LIST    DW      10,10000,7
        DW      21020,-30,3213
        DW      389,213,5435
AVER    DW      ?
S2      ENDS
S3      SEGMENT
        ASSUME  CS:S3, DS:S2, SS:S1
MAIN    PROC    FAR
        MOV     AX, S1
        MOV     SS, AX
        MOV     AX, S2
        MOV     DS, AX
        LEA     SI, LIST

        MOV     CX, [SI]
        ADD     SI, 2
        XOR     BX, BX
        MOV     BP, BX
L4:     MOV     AX, [SI]
        CWD     ;this is expand the digit of the half res digits
        ADD     BP, AX
        ADC     BX, DX
        ADD     SI, 2
        LOOP L4
        MOV     DX, BX
        MOV     AX, BP
        IDIV    [LIST]
        MOV     [AVER], AX ; the lowbit put consult
        MOV     DX, AX
        ; BINARY OUTPUT in decimal
        MOV     AH, 4CH
        INT     21H
S3      ENDS
        END     MAIN

相关标签: IBM