汇编语言编译器问题

一个超简单的汇编问题,是人就能答出来_百度知道
一个超简单的汇编问题,是人就能答出来
我对汇编语言不是很熟悉,所以请教一下大家。请问一下,在汇编语言中,有哪些语句是等价的?(例如,je和jmp几乎可以替换(但我不知道对不对))资料越多越好,万分感激!!!!!!!!!
提问者采纳
汇编je和jmp是不相等的je和jz 是相等的
都是 等于转移参考 看雪学院一、数据传输指令 ———————————————————————————————————————
它们在存贮器和寄存器、寄存器和输入输出端口之间传送数据.
1. 通用数据传送指令.
传送字或字节.
先符号扩展,再传送.
先零扩展,再传送.
把字压入堆栈.
把字弹出堆栈.
把AX,CX,DX,BX,SP,BP,SI,DI依次压入堆栈.
把DI,SI,BP,SP,BX,DX,CX,AX依次弹出堆栈.
把EAX,ECX,EDX,EBX,ESP,EBP,ESI,EDI依次压入堆栈.
把EDI,ESI,EBP,ESP,EBX,EDX,ECX,EAX依次弹出堆栈.
交换32位寄存器里字节的顺序
交换字或字节.( 至少有一个操作数为寄存器,段寄存器不可作为操作数)
CMPXCHG 比较并交换操作数.( 第二个操作数必须为累加器AL/AX/EAX )
先交换再累加.( 结果在第一个操作数里 )
字节查表转换.
—— BX 指向一张 256 字节的表的起点, AL 为表的索引值 (0-255,即
0-FFH); 返回 AL 为查表结果. ( [BX+AL]-&AL )
2. 输入输出端口传送指令.
I/O端口输入. ( 语法: IN 累加器, {端口号│DX} )
I/O端口输出. ( 语法: OUT {端口号│DX},累加器 )
输入输出端口由立即方式指定时, 其范围是 0-255; 由寄存器 DX 指定时,
其范围是 0-65535.
3. 目的地址传送指令.
装入有效地址.
例: LEA DX,把偏移地址存到DX.
传送目标指针,把指针内容装入DS.
例: LDS SI,把段地址:偏移地址存到DS:SI.
传送目标指针,把指针内容装入ES.
例: LES DI,把段地址:偏移地址存到ES:DI.
传送目标指针,把指针内容装入FS.
例: LFS DI,把段地址:偏移地址存到FS:DI.
传送目标指针,把指针内容装入GS.
例: LGS DI,把段地址:偏移地址存到GS:DI.
传送目标指针,把指针内容装入SS.
例: LSS DI,把段地址:偏移地址存到SS:DI.
4. 标志传送指令.
标志寄存器传送,把标志装入AH.
标志寄存器传送,把AH内容装入标志寄存器.
32位标志入栈.
32位标志出栈. 二、算术运算指令 ———————————————————————————————————————
带进位加法.
加法的ASCII码调整.
加法的十进制调整.
带借位减法.
求反(以 0 减之).
比较.(两操作数作减法,仅修改标志位,不回送结果).
减法的ASCII码调整.
减法的十进制调整.
无符号乘法.
以上两条,结果回送AH和AL(字节运算),或DX和AX(字运算),
乘法的ASCII码调整.
无符号除法.
以上两条,结果回送:
商回送AL,余数回送AH, (字节运算);
商回送AX,余数回送DX, (字运算).
除法的ASCII码调整.
字节转换为字. (把AL中字节的符号扩展到AH中去)
字转换为双字. (把AX中的字的符号扩展到DX中去)
字转换为双字. (把AX中的字符号扩展到EAX中去)
(把EAX中的字的符号扩展到EDX中去) 三、逻辑运算指令 ———————————————————————————————————————
测试.(两操作数作与运算,仅修改标志位,不回送结果).
算术左移.(=SHL)
算术右移.(=SHR)
通过进位的循环左移.
通过进位的循环右移.
以上八种移位指令,其移位次数可达255次.
移位一次时, 可直接用操作码.
如 SHL AX,1.
移位&1次时, 则由寄存器CL给出移位次数.
SHL AX,CL 四、串指令 ———————————————————————————————————————
源串段寄存器
:源串变址.
目标串段寄存器:目标串变址.
重复次数计数器.
0表示重复操作中SI和DI应自动增量; 1表示应自动减量.
用来控制扫描或比较操作的结束.
传送双字. )
把AL或AX的内容与目标串作比较,比较结果反映在标志位.
把源串中的元素(字或字节)逐一装入AL或AX中.
传送双字. )
是LODS的逆过程.
当CX/ECX&&0时重复.
当ZF=1或比较结果相等,且CX/ECX&&0时重复.
REPNE/REPNZ
当ZF=0或比较结果不相等,且CX/ECX&&0时重复.
当CF=1且CX/ECX&&0时重复.
当CF=0且CX/ECX&&0时重复. 五、程序转移指令 ———————————————————————————————————————
1&无条件转移指令 (长转移)
无条件转移指令
RET/RETF过程返回.
2&条件转移指令 (短转移,-128到+127的距离内)
( 当且仅当(SF XOR OF)=1时,OP1&OP2 )
JA/JNBE 不小于或不等于时转移.
JAE/JNB 大于或等于转移.
JB/JNAE 小于转移.
JBE/JNA 小于或等于转移.
以上四条,测试无符号整数运算的结果(标志C和Z).
JG/JNLE 大于转移.
JGE/JNL 大于或等于转移.
JL/JNGE 小于转移.
JLE/JNG 小于或等于转移.
以上四条,测试带符号整数运算的结果(标志S,O和Z).
JNE/JNZ 不等于时转移.
有进位时转移.
无进位时转移.
不溢出时转移.
JNP/JPO 奇偶性为奇数时转移.
符号位为 &0& 时转移.
奇偶性为偶数时转移.
符号位为 &1& 时转移.
3&循环控制指令(短转移)
CX不为零时循环.
LOOPE/LOOPZ
CX不为零且标志Z=1时循环.
LOOPNE/LOOPNZ
CX不为零且标志Z=0时循环.
CX为零时转移.
ECX为零时转移.
4&中断指令
5&处理器控制指令
处理器暂停, 直到出现中断或复位信号才继续.
当芯片引线TEST为高电平时使CPU进入等待状态.
转换到外处理器.
置进位标志位.
清进位标志位.
进位标志取反.
置方向标志位.
清方向标志位.
置中断允许位.
清中断允许位. 六、伪指令 ———————————————————————————————————————
定义字(2字节).
SEGMENT 定义段.
建立段寄存器寻址.
提问者评价
其他类似问题
为您推荐:
其他2条回答
在汇编中等价的语句很少,只能说他们检查的东西是否一样或者实现的功能是否相同。je和jmp是不等价的。jmp是不判断,强行跳转。je是判断零标志(ZF)是否被置为。如果说等价的东西,jz和je都是检查零标志的。
既然是人就能答出来,那你怎么还问别人呢
您可能关注的推广
汇编的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁汇编语言问题_百度知道
汇编语言问题
1.指出下列指令的含义(1)IN,OUT
(2)ADD(3)SHL,SHR(4)MOVS (5)CLC,STC……2.指出下列指令源操作数的寻址方式(1)MOV
BX , 100H (2)MOV
AX , disp [BX] [DI](3)MOV
BX,[1000H](4)ADD
SI,AX请高手教教我,考试遇阻碍了。感激涕零。
提问者采纳
1.指出下列指令的含义(1)IN,OUT
端口操作。IN:从端口读入累加器;OUT:从累加器写入端口(2)ADD无符号数加法(3)SHL,SHR逻辑移位指令。SHL:逻辑左移;SHR:逻辑右移(4)MOVS数据块传送指令(5)CLC,STC进位标志操作指令。CLC:清进位标志;STC:置进位标志2.指出下列指令源操作数的寻址方式(1)MOV
BX , 100H 立即数寻址(2)MOV
AX , disp [BX] [DI]相对基址加变址寻址(3)MOV
BX,[1000H]存储器直接寻址(4)ADD
SI,AX寄存器寻址
提问者评价
谢谢,因为实在是对电脑不熟,又要学这么难的东西,直接不明白老师在讲的什么,所以只有请求帮助了。
其他类似问题
为您推荐:
汇编语言的相关知识
其他2条回答
楼上的真有这个闲功夫,还一一做答,这不是害人吗?这几道题的答案不都在书上写着吗?估计楼主连书都懒的翻吧?即使翻书也找不到位置吧?就算在网络上查找一下很困难吗?还感激涕零呢?
有 汤旺河边 在 什么 汇编问题都不用愁 直接问他吧~~~~
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁汇编语言问题,我运行成功后,用debug中d命令观察,但屏幕显示好像是错的,求解?代码如下:_百度知道
按照程序300h那边应是4030h,但这什么都没有啊!程序,你都没有调入 DEBUG。看看 DEBUG 给你的提示:File not found。
其他类似问题
为您推荐:
汇编语言的相关知识
其他1条回答
按照程序300h那边应是4030h,但这什么都没有啊!
你到底要干什么每T执行一次就看一下DS的变化就知道那里错误了
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁汇编语言的问题_百度知道
汇编语言的问题
程序prognam segment assume cs:prognamstart:;输入且循环左移4位 mov cl,4 mov bx,0 mov ah,01h int 21h add bl,al rol bx,cl;输出bl
mov dl,bl mov ah,02h int 21h;输出bh
mov dl,bh mov ah,02h int 21h mov ah,4ch int 21hprognam ends end start
为什么我输入1显示1和乱码呢我想显示我输入的数和经循环移位后的数
提问者采纳
mov cl,8bx是16位,如果移4位,bx:01 0000
输出就会是乱码 prognam segment assume cs:prognamstart:;输入且循环左移4位 mov cl,8
;bx是16位,如果移4位,bx:01 0000
输出就会是乱码 mov bx,0h
;如果移4位,bx:00 0000
输出就会是1 1
(因为0在ASCII里面是空字符) mov ah,01h int 21h add bl,al rol bx,cl
mov dl,bl mov ah,02h int 21h; rol bx,cl
;可以将循环左移语句放在这,输出便是111;输出bh
mov dl,bh mov ah,02h int 21h mov ah,4ch int 21hprognam ends end start
提问者评价
其他类似问题
为您推荐:
汇编语言的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁只需一步,快速开始
后使用快捷导航没有帐号?
查看: 548|回复: 13
汇编语言的问题,修改CS和ip那一章
签到天数: 106 天[LV.6]常住居民II
马上注册加入鱼C,享用更多服务吧^_^
才可以下载或查看,没有帐号?
20000H----20002H内存单元存放着:B8 23 01 对应的汇编指令mov ax,0123H
20003H---20005H存放着:BB 03&&00汇编指令mov bx,0003H
20006H---20007H& &89 D8&&汇编指令 mov ax,bx
.....................................
我的问题是B8 23 01代表的就是MOV AX ,0123,,这个指令吗?以前的课程中书中没有说啊!B8是什么意思?还有BB,,89&&D8,,这些,这些数和汇编指令有什么关系吗?求各位前辈指点指点,我真的好困惑啊。。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 106 天[LV.6]常住居民II
。。。。。。。。。。。。。。。。。。。。。。。。。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 558 天[LV.9]以坛为家II
我的问题是B8 23 01代表的就是MOV AX ,0123,,这个指令吗?以前的课程中书中没有说啊!B8是什么意思?还有BB,,89&&D8,,这些,这些数和汇编指令有什么关系吗?求各位前辈指点指点,我真的好困惑啊。。。
这章有讲的哇~不是说汇编语言是机器指令(机器码)的助记符吗?!这里的B8 23 01 就是机器码.本应是二进制来表示,不过,书写太长了,所以,就以16进制来表示!不知道我的理解的对不
◆ ◆ 这里是快速回复,赶紧试试哦
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 37 天[LV.5]常住居民I
同学,你不用太纠结这个问题,内存里面存放的可以表示指令也可以表示数据,如二进制信息:
& &1000&&-〉十六进制:89 D8
& && &&&─& 89D8H (数据)
& && &&&─& MOV AX,BX (指令)
一般情况下你用debug追踪一段程序执行过程,那么首先这段程序必然会被存放在内存中,就如你题中所说,此时B8 23 01(二进制01)就表示指令mov ax,0123h。但是当你没有加载程序的时候你在debug下用d命令查看的此时的内存地址(该地址必须重新启动或者被覆盖掉)存放的就只有神知道它代表啥了;还有到底B8 23 01是如何翻译成mov ax,0123h这点你就不需要知道了,不然微软就没啥搞头了,呵呵~~
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 1 天[LV.1]初来乍到
找师傅,求师傅,本人一窍不通,求一个师傅,,虚心学习
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 30 天[LV.5]常住居民I
用小甲鱼老师的话来说,这些以后会讲的,请听下下下下回分析~~~我也是刚学汇编,加个QQ好友一起学习吧~~~~
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 106 天[LV.6]常住居民II
lanmo 发表于
同学,你不用太纠结这个问题,内存里面存放的可以表示指令也可以表示数据,如二进制信息:
哈哈,我明白了,谢谢你老师。。真的非常感谢你,我一直纠结B8 23 01 这些数据是怎么翻译成mov ax,0123H.现在我明白了。谢谢你。老师
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 106 天[LV.6]常住居民II
carzycode 发表于
用小甲鱼老师的话来说,这些以后会讲的,请听下下下下回分析~~~我也是刚学汇编,加个QQ好友一起学习吧~~~~
额。。。可我现在好纠结的,我在学习的过程中,稍微遇到点疑问就拼命的也要把他弄明白。要不俺、然晚上睡觉都睡不着的。不过刚才楼上的师傅前辈已经帮我把困惑解决了,还是蛮开心的。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 121 天[LV.7]常住居民III
你问的这些都是编译器解决的问题。我们还不需要去理解,继续往下学习吧。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 3 天[LV.2]偶尔看看I
这个是内存中的内容吧,也就是数据,并不是表示的指令内容吧
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 81 天[LV.6]常住居民II
lanmo 发表于
同学,你不用太纠结这个问题,内存里面存放的可以表示指令也可以表示数据,如二进制信息:
请问 B8是不是“写入AX的意思”?
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 41 天[LV.5]常住居民I
暂时不用理解这些东西
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 106 天[LV.6]常住居民II
NGtailang 发表于
你问的这些都是编译器解决的问题。我们还不需要去理解,继续往下学习吧。
谢谢你老师。。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 106 天[LV.6]常住居民II
<font color="#8890662 发表于
请问 B8是不是“写入AX的意思”?
呵呵,这个问题纠结了我好久好久,。。你也感到纠结吗?????
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
站长推荐 /1
编程题目、CM题目、溢出题目、样本分析题目,这里应有尽有!
抓住机会,成功挑战还可获得丰厚礼品!
&#8226;&#8226;&#8226;(
Powered by

我要回帖

更多关于 汇编语言 王爽 pdf 的文章

 

随机推荐