问一个超级简单的问题

xiaomiaowu 2007-10-11 11:48:19
最近在学汇编
问题一,书上老是写
MOV AH,0
AND AL,0FH
MOV DX,AX
ADD AX,AX
ADD AX,DX
来取低4位
难道不可以
AND AX,0FH
MOV DL,3
MUL DL (当然是AX和DX里的原数据后面是用不到的情况下)
吗??
这有区别吗?
问题二,过程定义语句
MAIN PROC FAR
...
MAIN ENDP
是否定义为MAIN段间的RET 都为段间返回指令?
如果没FAR 定义为RET 都为段内返回指令?
...全文
109 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
NoBlank 2007-10-16
  • 打赏
  • 举报
回复
1. 在8086中,MUL指令要花费很多机器周期,也就是说执行时比较慢,所以示例中用加法指令来代替,这不适合于所有场合;
2. MAIN为FAR时MAIN中的RET皆为段间返回。不指定FAR缺省属于FAR还是NEAR应该取决于模块的编译模式定义(大模式、小模式等),具体我就不记得了,LZ可以试下。
xiaomiaowu 2007-10-16
  • 打赏
  • 举报
回复
谢谢指教
mlp098 2007-10-16
  • 打赏
  • 举报
回复
我也很想知道,在线等人回答。
zhgwbzhd 2007-10-12
  • 打赏
  • 举报
回复
问题二。
ret的返回主要看前面的push,例如call就有push。这个要具体问题具体对待。
koji_toyama 2007-10-12
  • 打赏
  • 举报
回复
不可以 无法直接在外部扩展的存储器里存取的吧。楼主学的是什么芯片?

21,458

社区成员

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

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