顺序结构
代码如下
DATA SEGMENT
TABLE DB 39,60,76
NUM DB 0
MATH DB 0
DATA ENDS
STACK1 SEGMENT PARA STACK
DW 20H DUP(0)
STACK1 ENDS
COSEG SEGMENT
ASSUME CS:COSEG,DS:DATA,SS:STACK1
START:
MOV AX,DATA
MOV DS,AX
MOV BX,OFFSET TABLE
MOV AH,1
INT 21H;input number
SUB AL,30H
;输出回车后会改变AL的值(变为回车0AH),故先存到NUM中
mov NUM,AL
;用户输入后回车
mov ah,2
mov dl,0ah
int 21h
XOR AH,AH;AH改为0
MOV AL,[NUM];重新读取MATH到AL
ADD BX,AX
MOV AX,[BX]
MOV MATH,AL
mov bl,al
mov cx,8;设置输出位数,这里为8位(DB)
;输出
print:mov ah,2
mov dl,'0'
test bl,10000000b
jz zero
mov dl,'1'
zero:
int 21h
shl bl,1
loop print
mov dl,'b'
int 21h
;return
MOV AH,4CH
INT 21H
COSEG ENDS
END START
参考
INT和AH之间的作用关系