汇编语言 div指令,两位输出


div指令格式:  div 被除数

除数默认从ax中取到

结果中

    商在al中

    余数在ah中

例如12/10的结果中

    1在al中  2在ah中

刚开始:ax为  0000 0000 0000 1100B

运行后:ax为  0000 0010 0000 0001B

    ah为  0000 0010B

    al为   0000 0001B

 

但是输出语句:mov ah,02h  会把ah变为2

       int 21h

但是余数也在ah中,会导致ah只能为2,所以我们需要dh寄存器,先把ah存到dh中,之后输出的时候从dh中调用

 

代码:56/10

DATAS SEGMENT
    ;此处输入数据段代码  
DATAS ENDS

STACKS SEGMENT
    ;此处输入堆栈段代码
STACKS ENDS

CODES SEGMENT
    ASSUME CS:CODES,DS:DATAS,SS:STACKS
START:
    MOV AX,DATAS
    MOV DS,AX
        mov ax,56
        mov bl,10
        div bl

        mov dh,ah
        
        mov dl,al
        add dl,48
        mov ah,02
        int 21h
        
        
        mov dl,dh
        add dl,48
        mov ah,02
        int 21h
    MOV AH,4CH
    INT 21H
CODES ENDS
    END START

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM