帮我解答一个汇编问题

u013542359 2014-06-08 09:34:50
如题,万分感谢,尽量通俗易懂一点,多谢各位
...全文
142 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2014-06-09
  • 打赏
  • 举报
回复
xp/sp3 的系统,debug 是支持的:
M:\>ver

Microsoft Windows XP [Version 5.1.2600]

M:\>debug
-a
0B03:0100 mov al,[bx+si+3]
0B03:0103 mov al,[bx+3+si]
0B03:0106 mov al,[3+si+bx]
0B03:0109
Explorerlxz 2014-06-09
  • 打赏
  • 举报
回复
引用 3 楼 u013542359 的回复:
我的代码debug出错,就卡在27和29行,换成mov al,[bx+3][si]就好了,估计我电脑问题,或者al不能那样接收,因为al是8位寄存器,估计换成bx通用寄存器就可以
不是的,我三楼的代码不也是mov al,[bx+3+si]吗?你用的不是xp系统的debug吗?我感觉应该和电脑没关系!
u013542359 2014-06-09
  • 打赏
  • 举报
回复
我的代码debug出错,就卡在27和29行,换成mov al,[bx+3][si]就好了,估计我电脑问题,或者al不能那样接收,因为al是8位寄存器,估计换成bx通用寄存器就可以
Explorerlxz 2014-06-08
  • 打赏
  • 举报
回复
你的程序好像也没问题呀!除了代码有点长……
assume cs:code,ds:data
data segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
data ends

code segment
start:
mov ax,data
mov ds,ax
mov bx,0

mov cx,4
s0:
push cx
mov si,0
mov cx,4
s: mov al,[bx+3+si]
and al,0dfh
mov [bx+3+si],al
inc si
loop s

add bx,16
pop cx
loop s0

mov ax,4c00h
int 21h
code ends
end start
Explorerlxz 2014-06-08
  • 打赏
  • 举报
回复
为什么不把代码写的简单一点呢?我感觉根本没必要写那么麻烦
assume cs:code,ds:data
data segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
data ends

code segment
start:
mov ax,data
mov ds,ax
mov bx,3
mov cx,4
s:
mov ax,[bx]
and ax,0dfdfh
mov [bx],ax
add bx,2
mov ax,[bx]
and ax,0dfdfh
mov [bx],ax
add bx,14
loop s

mov ax,4c00h
int 21h
code ends
end start

21,458

社区成员

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

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