社区
汇编语言
帖子详情
问一道题……
白乔
博客专家认证
2003-06-17 09:00:53
试编制一个程序把BX寄存器内的二进制数用十六进制的形式显示出来!
求助,急!
...全文
125
9
打赏
收藏
问一道题……
试编制一个程序把BX寄存器内的二进制数用十六进制的形式显示出来! 求助,急!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
努力学习的小白小白小白
2003-06-22
打赏
举报
回复
;这样子可以了吧!!!
stack_seg SEGMENT stack
DB 128 DUP(?)
stack_seg ENDS
data_seg SEGMENT
data_seg ENDS
code_seg SEGMENT
ASSUME CS:code_seg,DS:data_seg
start:
MOV AX,data_seg
MOV DS,AX
MOV CH,4
MOV BX,0AF34H
round:
MOV CL,4
ROL BX,CL
MOV AL,BL
AND AL,0FH
ADD AL,30H
CMP AL,3AH
JL SHOW
ADD AL,7
SHOW:
MOV DL,AL
MOV AH,2
INT 21H
DEC CH
JNZ ROUND
MOV AH,4CH
INT 21H
CODE_SEG ENDS
END START
xiaott
2003-06-21
打赏
举报
回复
lezi1022所言及是,本人的程序确实没有考虑ASCII码大于0A时的处理!
lezi1022
2003-06-17
打赏
举报
回复
xiaott,你没有考虑到如果bx=0ABCDH的时候,你的程序是有问题的!
lezi1022
2003-06-17
打赏
举报
回复
我也来一个!code segment
assume cs:code
start: mov bx,1234h
mov ch,4
lp1:
mov cl,4
rol bx,cl
mov dl,bl
and dl,0fh
add dl,30h
cmp dl,3ah
jl dis
add dl,7h
dis : mov ah,2
int 21h
dec ch
jnz lp1
mov ah,4ch
int 21h
code ends
end start
已经通过debug得到正确显示
-g
1234
Program terminated normally
-q
xiaott
2003-06-17
打赏
举报
回复
改了一下,执行起来比我第一个程序少8条指令,效率好一些!
data segment
buf db 4 dup(0)
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov cx,4
xor dx,dx
mov bx,1234H ;例如BX中有二进制数0001001000110100
lop: rol bx,cl
mov dx,bx
and dx,000fh
add dx,30h
mov ah,02h
int 21h
inc ch
cmp ch,4
jb lop
mov ah,4ch
int 21h
code ends
end start
xiaott
2003-06-17
打赏
举报
回复
下面这是用移位的方法:
data segment
buf db 4 dup(0)
data ends
code segment
assume cs:code,ds:data
start: mov ax,data
mov ds,ax
mov cx,4
mov ax,cx
mov bx,1234H ;例如BX中有二进制数0001001000110100
lop: push cx
mov dx,bx
rol dx,cl
and dx,000fh
add dx,30h
mov ah,02h
int 21h
add cl,4
inc ch
cmp ch,4
jb lop
mov ah,4ch
int 21h
code ends
end start
也可以将BX内容除以10H并求余,然后用商再除以10H……到商为0为止!!
用户 昵称
2003-06-17
打赏
举报
回复
http://expert.csdn.net/Expert/topic/1799/1799656.xml?temp=.8653681
Semigod
2003-06-17
打赏
举报
回复
很容易啊
.DATA
idx BYTE "0123456789ABCDEF"
.Code
mov cx, 4
.while cx
rol bx, 4
mov ax, bx
and ax, 0xFFF0
@ShowChar al
dec cx
.endw
xiaott
2003-06-17
打赏
举报
回复
说清楚一些吗?
ZJU_ACM_All_Anwer 搞编程的都知道的浙江大学A
题
库.本书 集了所有经 Z
题
解集,集合并附 Mathimaticsumerical algorithms 数值算法
1353 Unimodal Palindromic Decompositions 规模不大,所以是简单
题
…… 1354 Extended Lights Out 简单
题
1362 Game Prediction 简单
题
1365 Mileage Bank 简单
题
1382 A Simple Task 简单
题
1383 Binary...
浙江大学ACM
题
解/ZJU
题
型分类
1353 Unimodal Palindromic Decompositions 规模不大,所以是简单
题
…… 1354 Extended Lights Out 简单
题
1362 Game Prediction 简单
题
1365 Mileage Bank 简单
题
1382 A Simple Task 简单
题
1383 Binary...
深入浅出 Qt 编程
本课程详细、全面地介绍了 Qt 开发中的各个技术细节,并且额外赠送在嵌入式端编写Qt程序的技巧。整个课程涵盖知识点非常多,知识模块囊括 Qt-Core 组件、QWidgets、多媒体、网络、绘图、数据库,超过200个 ...…… ……
Warshall算法(C#)
图论课的
一道
补充
题
…… 特点:界面友好,功能简单
一道
小学的几何
题
,求面积
小学的
一道
几何
题
,一个正方形,内切圆,再两个半圆的交集,用几何的方法很容易画出来,但是面积,一点不好算,图是用CAXA2018打开的,谁知道的试试看……
汇编语言
21,458
社区成员
41,603
社区内容
发帖
与我相关
我的任务
汇编语言
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
复制链接
扫一扫
分享
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章