如何输出?

Sunboyjava 2003-10-19 07:44:02
如用汇编编写一个求和程序 请问如何输出数字结果(我只能输出一些字符呀 乱码字符)

谢谢
...全文
45 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sunboyjava 2003-10-28
  • 打赏
  • 举报
回复
ahjoe 2003-10-22
  • 打赏
  • 举报
回复
我写的是输出数值的函数。

你现在还在用8088/8086 ?

我是为了输出32位的数值,才用了.286
Sunboyjava 2003-10-22
  • 打赏
  • 举报
回复
8088、8086
Sunboyjava 2003-10-22
  • 打赏
  • 举报
回复
晕! 求和程序在汇编里这么复杂呀 

ahjoe 2003-10-19
  • 打赏
  • 举报
回复
.286
public outnum
code segment
assume cs:code, ds:code

count1 db 0
count2 db 0
endchar db 0
maxdigit db 0
db 0
dw 0
value dw 0
dw 0
outnum proc far
; IN:
; LONG IN DX:AX, WORD IN AX
; BL(b1_b0)=1 WORD
; 2 LONG
; BL(b3_b2)=0 BIN
; 1 DEC
; 2 HEX
; BL(b4)=1 HAS SIGN
; 0 HAS NOT SIGN
; BL(b5)=1 HAS BDHID
; 0 HAS NOT BDHID
; BH=DIGIT AMOUNT LIMIT

push ax
push bx
push cx
push dx
push ds
mov cx, cs
mov ds, cx
db 66h
xor cx, cx
db 66h
mov value, cx
db 66h
mov word ptr maxdigit, cx
mov value, ax
mov count1, bh
mov count2, bh

test bl, 10h
jz nosign

test bl, 1
jnz wordsign
longsign:
test dh, 80h
jz plusid
lminusid: not ax
not dx
inc ax
adc dx, 0
jmp totmin
wordsign:
test ah, 80h
jz plusid
wminusid:
neg ax
totmin:
mov cl, '-'
jmp totsid
plusid:
mov cl, '+'
totsid:
call outchar

nosign:
mov value+2, dx
test bl, 2
jnz outlong
mov value+2, 0
outlong:
db 66h
mov ax, value
db 66h
xor dx, dx
test bl, 0ch
jz bini
test bl, 04h
jnz deci
hexi:
mov maxdigit, 16
mov endchar, 'H'
jmp totdig
deci:
mov maxdigit, 10
mov endchar, 'D'
jmp totdig
bini:
mov maxdigit, 2
mov endchar, 'B'
totdig:
xor dx, dx
db 66h
div word ptr maxdigit
push dx
dec count1
jnz totdig
divend:
pop cx
or cl, 30h
cmp cl, '9'
jbe digit10
add cl, 7
digit10:
call outchar
dec count2
jnz divend

test bl, 20h
jz nobdh
mov cl, endchar
call outchar
nobdh:
pop ds
pop dx
pop cx
pop bx
pop ax
retf
outnum endp

outchar proc near
xchg ax, cx
mov ah, 0eh
int 10h
xchg ax, cx
retn
outchar endp

code ends
end outnum
handsome_z 2003-10-19
  • 打赏
  • 举报
回复
看看中断int 21h
qass 2003-10-19
  • 打赏
  • 举报
回复
请问楼主有没有用到debug中的g命令或者写成.com文件没?具体如下:
debug
-a 100
.....<你的求和程序>
-g
或者
a 100
....
-r cx
-n
-w
-q
再执行你的.com文件

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧