汇编输出数字

尘缘udbwcso 2011-06-02 02:19:22
汇编输出数字
16位汇编80X86
BX里有一个数,怎么以十进制显示在屏幕上?
...全文
1442 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hust_huxuan 2011-06-09
  • 打赏
  • 举报
回复
http://blog.csdn.net/w9521423/archive/2006/10/18/1340072.aspx
这个博客讲得还比较清楚,还有如何用二进制和十六进制输出,看一下应该就可以懂了。
「已注销」 2011-06-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 newfinder 的回复:]
我也一直在思考这个问题,不知道可不可以用invoke 调用printf
比如:

Assembly code

.386
.model flat,stdcall
option casemap:none
includelib msvcrt.lib
printf PROTO C :dword,:vararg
.data
szOutput byte '输出:%d……
[/Quote]
你这个太邪恶了,应该不是他想要的,哈哈
后起的黑马 2011-06-05
  • 打赏
  • 举报
回复
data segment
ox dw 7fffh /转化后输出为32767
chushu dw 10000,1000,100,10,1
data ends

code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax

mov cx,5 ;BX
lea di,chushu
mov ax,ox
again: cwd
div word ptr[di] ;得到商在AX中,余数在dx中
mov bx,dx
mov dl,al
add dl,30h
mov ah,02h
int 21h
mov ax,bx
add di,2
loop again
mov ah,4ch
int 21h
ret
code ends
end start

newfinder 2011-06-03
  • 打赏
  • 举报
回复
我也一直在思考这个问题,不知道可不可以用invoke 调用printf
比如:

.386
.model flat,stdcall
option casemap:none
includelib msvcrt.lib
printf PROTO C :dword,:vararg
.data
szOutput byte '输出:%d',0ah,0
.code
start:
mov bx,10
invoke printf,offset szOutput,bx
ret
end start
masmaster 2011-06-02
  • 打赏
  • 举报
回复

;显示十进制子程序
;入口参数DX=要显示的数值,出口:无
dispdec proc uses ax bx cx dx
mov ax,dx
xor dx,dx
mov bx,10
mov cx,0
a:
cmp ax,10
jb ok
div bx
add dl,30h
push dx
xor dx,dx
inc cx
jmp a
ok:
add al,30h
push ax
inc cx
b:
pop dx
mov ah,2
int 21h
loop b
ret
dispdec endp

heizitai 2011-06-02
  • 打赏
  • 举报
回复
编程转换成十进制,然后输出

21,459

社区成员

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

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