我是靠谱客的博主 顺利月饼,最近开发中收集的这篇文章主要介绍汇编语言-两位数减法(优化版)十位、个位、负数,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

DATAS SEGMENT

a1 db ?

a2 db ?

    ;此处输入数据段代码 

DATAS ENDS

STACKS SEGMENT

    ;此处输入堆栈段代码

STACKS ENDS

CODES SEGMENT

    ASSUME CS:CODES,DS:DATAS,SS:STACKS

START:

    MOV AX,DATAS

    MOV DS,AX

    ;此处输入代码段代码

A:    mov ah,1

    int 21h

    mov bl,al

    sub bl,30h

   

    mov ah,1

    int 21h

    sub al,30h

    mov bh,al

    

    mov al,10

    mov cl,bl

    mul cl;al*cl->ax 这里只取al就行

    add al,bh;十位+个位

    mov a1,al

   

    mov ah,2

    mov dl,'-'

    int 21h

    

    mov ah,1

    int 21h

    mov bl,al

    sub bl,30h

   

    mov ah,1

    int 21h

    sub al,30h

    mov bh,al

    

    mov al,10

    mov cl,bl

    mul cl;al*cl->ax 这里只取al就行

    add al,bh;十位+个位

    mov a2,al

   

   

    cmp a1,al

    jb K

   

    mov al,a1

    sub al,a2

   

   mov ah,0

   mov cl,10

   div cl

   mov bh,ah;bh个位已经算出

  

  

   mov ah,0;看看十位al

   div cl

  

   mov dl,0

   ;只考虑余数ah

   cmp dl,ah

   jb T

   JMP F

  T:mov bl,ah

   add bx,3030h

   

    mov ah,2

    mov dl,'='

    int 21h

   

    mov ah,2

    mov dl,bl

    int 21h

    mov ah,2

    mov dl,bh

    int 21h

   

    mov ah,2

    mov dl,13

    int 21h

    mov ah,2

    mov dl,10

    int 21h

   

    JMP A

 F:add bh,30h

  mov ah,2

    mov dl,'='

    int 21h

   

    mov ah,2

    mov dl,bh

    int 21h

  mov ah,2

    mov dl,13

    int 21h

    mov ah,2

    mov dl,10

    int 21h

   

    JMP A

 k:mov cl,a1

  mov dl,a2

  mov a2,cl

  mov a1,dl

   mov al,a1

    sub al,a2

   

   mov ah,0

   mov cl,10

   div cl

   mov bh,ah;bh个位已经算出

  

  

   mov ah,0;看看十位al

   div cl

  

   mov dl,0

   ;只考虑余数ah

   cmp dl,ah

   jb M

   JMP N

  M:mov bl,ah

   add bx,3030h

   

    mov ah,2

    mov dl,'='

    int 21h

   

    mov ah,2

    mov dl,'-'

    int 21h

   

    mov ah,2

    mov dl,bl

    int 21h

    mov ah,2

    mov dl,bh

    int 21h

   

    mov ah,2

    mov dl,13

    int 21h

    mov ah,2

    mov dl,10

    int 21h

   

    JMP A

 N:add bh,30h

  mov ah,2

    mov dl,'='

    int 21h

   

    mov ah,2

    mov dl,'-'

    int 21h

   

    mov ah,2

    mov dl,bh

    int 21h

  mov ah,2

    mov dl,13

    int 21h

    mov ah,2

    mov dl,10

    int 21h

  

    JMP A

   

    MOV AH,4CH

    INT 21H

CODES ENDS

    END START

最后

以上就是顺利月饼为你收集整理的汇编语言-两位数减法(优化版)十位、个位、负数的全部内容,希望文章能够帮你解决汇编语言-两位数减法(优化版)十位、个位、负数所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(84)

评论列表共有 0 条评论

立即
投稿
返回
顶部