急急急,求高人解答!!!蟹蟹蟹蟹!! 用汇编语言编写程序 计算3478+9524和0A8H+26H

急急急,求高人解答!!!蟹蟹蟹蟹!!用汇编语言编写程序计算3478+9524和0A8H+26H1.原始数据分存于a、b、c、d开始的内存单元中,运算结果存于e、g开始的内... 急急急,求高人解答!!!蟹蟹蟹蟹!!
用汇编语言编写程序 计算3478+9524和0A8H+26H1.原始数据分存于a、b、c、d开始的内存单元中,运算结果存于e、g开始的内存单元中。
2.前两个数据在程序中用十进制数表示,后两个数据在程序中用十六进制数表示
3.十进制数定义成字变量,用16位加。十六进制数定义成字节变量,用8位加
4.先以十进制形式输出两个十进制数的和,在下一行用十六进制形式输出两个十六进制数的和
展开
 我来答
pardream941026
2018-06-11 · TA获得超过8216个赞
知道大有可为答主
回答量:4602
采纳率:89%
帮助的人:1304万
展开全部

dseg segment
  a dw 3478
  b dw 9524
  c db 0A8H
  d db  26H
  e dw 0
  g db 0
  t db '0123456789ABCDEF'
dseg ends

assume cs:cseg, ds:dseg
cseg segment
start:
    mov ax, dseg
    mov ds, ax

    ;(1) a+b
    mov ax, a
    add ax, b
    mov e, ax
    ;(2) c+d
    mov al, c
    add al, d
    mov g, al
    ;(3)
    mov ax, e
    call printDec
    ;(4)
    mov al, g
    call printHex

    mov ax, 4c00h
    int 21h

printDec proc near
    xor cx, cx
    mov bx, 10
Q1:
    xor dx, dx
    div bx
    xor dx, 0e30h
    push dx
    inc cx
    cmp ax, 0
    jnz Q1
Q2:
    pop ax
    int 10h
    loop Q2

    mov ax, 0e0dh
    int 10h
    mov ax, 0e0ah
    int 10h

    ret
printDec endp

;print (al)
printHex proc near
    mov cl, 4
    mov ch, 2
    lea bx, t
    mov dl, al
    mov ah,0eh
H1:
    rol dl, cl
    mov al, dl
    and al, 0fh
    xlat
    int 10h
    dec ch
    jnz H1
    ret
printHex endp

cseg ends
end start
追问
蟹蟹大神,非常感谢
请问一下,程序调用那儿,Q1和Q2是用来做什么的呢
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式