微机原理与接口技术 立即数寻址 通过寄存器的名称就可以知道,AL是8位寄存器,AX是16位寄存器.汇编语言寄存器存储器问题 寄存器有通用寄存器,段寄存器,标志寄存器 其中通用寄存器:EAX:累加寄存器,是32位的 可以取低16位单独使用,叫AX,其中AX,又可以分成一半一半 8高位的叫AH 底8位的叫AL怎样使用汇编指令对8位、16位、32位寄存器数据进行存储? 回答这个问题前需要先介绍一款调试工具DTdebug.EXE以便我们通过实验来验证。在电脑旁的同学可以自己亲自动手实验一下,实践出真知,掌握本质对于学习计算机的同学来说还是很有意思的。如果要真正明白,必须要掌握以下的知识点:掌握DTDebug界面、并熟练使用1、熟记汇编窗口的组成及寄存器窗口的组成2、MOV指令的熟练使用3、掌握字节、字、双字的知识4、使用汇编指令对8位、16位、32位寄存器数据的存储寄存器是处理器(CPU)中用来存储数据的地方。接下来我们借用【DTDebug软件】来分析。DTDebug.exe是供程序员使用的程序调试工具。【本节只简单介绍DTDebug的使用,详细说明书请到编程达人官网去下载相关文档】双击DTDebug.exe软件图标如图2-4-1所示,打开界面如图2-4-2所示。图2-4-2是软件的原始界面,没有任何记录。那该怎么把将要被调试的程序打开哪?有四种方式:1、在如图2-4-2程序窗口中找到File->Open->找到调试程序;2、直接将要被调试的程序拖拽到如图2-4-2程序窗口中。3、关闭如图2-4-2窗口,把将要被调试的程序拖到如图2-4-1DTDebug图标上。4、在如图2-4-2程序窗口中找到File->Attach->找到将要被调试的程序(正在运行的软件)。以IPMGS.exe为例,介绍DTDebug微机原理与接口技术 立即数寻址 很简单啊,AL寄存器是8位的,而BX是16位的寄存器,从这个看出的,也可以从后面看:68H是十六进制,两个数字,一个代表四位,两个就是八位的,而B8A0H是四位,就是十六进制为什么前面说8位数据不能直接加到16位寄存器中,后面张图直接将[bx+di]的数据加cx中 8位的立即数可以直接传送到8位、16位、32位、.寄存器中8位的内存数据不能直接传送到16位寄存器中,否则传送的不只是8位的“字节”数据,而是传送的16位“字”数据。怎么分辨立即数 寄存器操作数 存储器操作数 1.操作数称为立即数,这种寻址方式也就称为立即数寻址方式。2.指令所要的操作数已存储在某寄存器中,或把目标操作数存入寄存器。3.把在指令中指出所使用寄存器(即:寄存器的助忆符)的寻址方式称为寄存器寻址方式。指令中可以引用的寄存器及其符号名称如下:8位寄存器有:AH、AL、BH、BL、CH、CL、DH和DL等;16位寄存器有:AX、BX、CX、DX、SI、DI、SP、BP和段寄存器等;32位寄存器有:EAX、EBX、ECX、EDX、ESI、EDI、ESP和EBP等。立即数 寄存器操作数 存储器操作数 立即数是什么意思,最好举个例子?立即能从指令流中得到的数,MOV AX,0FFFFH;对应机器指令为:B8 FF FF,其中的0FFFFH即为立即数,它存在于指令中,可立即获得寄存器操作数是什么意思,最好举个例子?上例中的 AX 即为寄存器操作数,操作数本身存放于寄存器中,在指令中只是给出了几个位的代码来表示它具体存放在那个寄存器中。以下是一些指令的机器码和对应的汇编指令B80000 MOV AX,0000BAFFFF MOV DX,FFFFB9FFFF MOV CX,FFFFBBFFFF MOV BX,FFFF存储器操作数是什么意思,最好举个例子?那就是存放在内存器中的操作数,如:MOV SI,[2000H]中的[2000H]MOV[BX+SI+02],AX中的[BX+SI+02]这些操作数实际被存放于内存储器中,被操作或运算时需要从存贮器中取出并被CPU接受送到运算器等参与操作运算。内存操作数是什么意思,最好举个例子?没太听说,要有的话,也就和存储器操作数没有多大差别汇编用push指令时怎么说明存储器操作数是16位还是32位 如若楼主问的是PC下的汇编,那么麻烦不要被楼下误解。囧X86汇编中push指令是不支持8位操作数的(请自行在debug下试试push al 是不是合法指令)8086中push指令不需要任何说明,传送的一律是字单元push指令的操作数可以是立即数,寄存器,内存单元,只要给出即可,不许任何说你,因为8086 的push/pop指令操作的操作数一律是字单元386以后的CPUpush指令支持了双字操作如果是寄存器操作数,毫无疑问,汇编程序(or称之为编译器?会自动判断操作数是字单元还是双字单元,比如 push ax;push eax;都可以很清晰明了的看出来目的操作数是几位的对于立即数如果在编程的时候 前面指定了伪指令.386那么程序中出现的立即数入栈 都将被认为是双字立即数对于要把一个内存单元的内容入栈这个时候是需要用 word ptr 和dword ptr来指出操作数是16位的还是32位的汇编语言如何知道寄存器内的值按照8位16位32位表示,并在做算术运算判是否断溢或表记进退位? 1、立即数可以直接赋值到不同长度的寄存器中,这个赋值过程由编译器处理。2、8位数不能和16位数直接相加,需要在相加之前将8位转(cbw)为16位,再相加。特别是有负数参与运算时。这些相加过程由程序员所编制的指令控制,编译器只负责翻译!
随机阅读
- 小区重大决策 家庭中重大事情的决策需要让孩子知道吗?为什么?
- 杀阡陌对花千骨那么好,为什么她被白子画订钉子时杀阡陌没有救她?杀阡陌有为她做过什么吗?比白子画多吗 白子画,你来干什么?杀你
- 爸爸欠了别人很多钱 大概有二十万了 怎么办呢 债主天天来要钱 自己的爸爸欠了很多钱怎么办
- 利用Eview 8.0检验数据正态性的两种操作 eviews正态性检验怎么做
- 王者荣耀中,逐日之弓的被动能否加成普攻型技能射程? 逐日之弓增加技能射程吗
- 装窗户,是装不锈钢的好,还是塑钢的好 佳美不锈钢塑钢门窗加工部怎么样
- 我家比熊的毛是直的 我们家的比熊是直毛的
- 太谷中学复读价格表 有谁知道太谷一中补习班的收费标准?补习班招生分数线是多少?
- 花菡水之孕多少钱一套 [今日账单]5.16儿子想吃饺子必须给安排上
- 释德杨师傅传统版本八段锦 历史上真实存在的十大“武功秘籍”有哪些,古代真的有内功吗?
- 桓台县毛家面粉厂 我想问下淄博桓台的起凤整骨,田氏整骨,还有茂杰整骨,这三家哪家的整骨最好???分别走什么路线可以去
- 银河战士卡牌 我有一套卡组,想让大家看看有什么可以改进的地方: 银河眼光子龙*2 活死人的呼声*3 银河战士*
- 水井手压泵压水怎么有反作用力 手压水井下水快怎么办
- 中华人民共和国野生动物保护法有狼吗?我希望狼不是保护动物,因为狼是害兽. 只狼动物保护组织
- 为什么怀孕期间容易得胆囊炎? 女性激素影响胆囊的是
- 全国宣传部长座谈会
- 中联重科QY20D431汽车起重机,现在价格是多少? 中联重科汽车起重机价格
- 武林群侠传2.0 补丁 武林群侠传2.0补丁
- 事业单位招聘药学专业,考试的科目包括哪些呀......... 中药学专科自考科目安排
- 苯的六氯代物的同分异构 问个化学题……