急急急,求高人解答!!!蟹蟹蟹蟹!! 用汇编语言编写程序 计算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.先以十进制形式输出两个十进制数的和,在下一行用十六进制形式输出两个十六进制数的和 展开
用汇编语言编写程序 计算3478+9524和0A8H+26H1.原始数据分存于a、b、c、d开始的内存单元中,运算结果存于e、g开始的内存单元中。
2.前两个数据在程序中用十进制数表示,后两个数据在程序中用十六进制数表示
3.十进制数定义成字变量,用16位加。十六进制数定义成字节变量,用8位加
4.先以十进制形式输出两个十进制数的和,在下一行用十六进制形式输出两个十六进制数的和 展开
1个回答
展开全部
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是用来做什么的呢
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询