汇编练习记录-顺序结构_数组

输入元素下标,输出对应元素的二进制码

Posted by Kingtous on March 15, 2019

顺序结构

  • 输入元素下标,输出对应元素的二进制码

代码如下

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之间的作用关系