精品推荐
阅读排行
· PRO/E 十种技巧· [组图] 3ds Max 高级长篇人
· 路由技术介绍
· [组图] PRO/E的曲面设计
· 怎样学好PRO/E软件?
· [组图] 快速将你的相片矢量
· [组图] Photoshop制作珠宝文
· [组图] flash人物绘画教程
· 《俄罗斯方块》程序
· Pro/ENGINEER 学习资
| 作者:佚名 来源:www.pccode.net 整理 发布时间:2006-3-7 14:10:37 发布人:wongrs |
| 机器语言我们只要重点理解一下几个概念: 1. 机器语言指令有操作码(OP)和地址码两部分组成 |_____________OP_______________|__s__|__w__| <--此格式用于立即寻址方式 在多数操作码中,常使用某些位来指示某些信息: d值在双操作数指令中才有效 s=1 时 立即数为8位,但要求扩展成16位数 由于汇编的指令格式很多,这里我只作一些基本情况介绍,必要时读者可以下载/查阅80x86汇编小站http://www.x86asm.com提供的OPCODES手册来查阅。 2. 寻址方式的机器语言表示: | mod | reg | r/m | reg 表示寄存器方式,在不包括立即数的双操作数指令的情况下,规定必须有一个操作数在寄存器中,该寄存器由reg字段指定,并与操作码字节中的w位相组合确定的寄存器 mod字段与r/m(register/memory)字段结合在一起确定另一个操作数的寻址方式现在你们下载了80x86汇编小站(http://www.x86asm.com)提供的OPCODES 手册了吗? 000 : AL : AX : EAX 001 : CL : CX : ECX 010 : DL : DX : EDX 011 : BL : BX : EBX 100 : AH : SP : ESP 101 : CH : BP : EBP 110 : DH : SI : ESI 111 : BH : DI : EDI 001 : ECX 010 : EDX 011 : EBX 100 : No Index 101 : EBP 110 : ESI 111 : EDI 001 : DS:[BX+DI] 010 : SS:[BP+SI] 011 : SS:[BP+DI] BX 100 : DS:[SI] 101 : DS:[DI] 110 : SS:[BP] 111 : DS:[BX] 00 : If mmm = 110, then a displacement follows the operation; otherwise, no displacement is used 01 : An 8-bit signed displacement follows the opcode 10 : A 16-bit signed displacement follows the opcode 11 : mmm specifies a register, instead of an addressing mode 3.指令格式简介 8086所用的16位指令格式: ________ _____________ ________ ________ OK!以上就是基本知识,下面我们来实践吧: ——————————————————————————————————————— MOV AX,1234H 对应的机器码为:B83412 MOV EBX,0 对应的机器码为:66BB00000000 MOV CL,55H 对应的机器码为: B155 我在问一下,机器码的数据格式是什么? 好像是 机器指令+操作数(高位存放在地址高位,低位存放在地址低位),但是前面MOV AX,怎么就变成了B8,弄不明白,请指教。 PS: 上面的题目是一个网友问的,现在我来实践一遍给你们看。 指令1 -> MOV AX,1234H 对应的机器码为:B83412 解法: 判断-> 这个是8086汇编16位汇编指令格式,并且是立即寻址方式 PS: "+" 符号不为“加号” 好了,已经解完第一题了,机器码为 B83412H ——————————————————————————————————————— 指令4 -> MOV AX,BX 对应的机器码为:8BC3 解法: 判断-> 这个是8086汇编16位汇编指令格式,并且是寄存器寻址方式 ”字母,然后对应查看 “MOV Reg,Reg”格式的“OpCode”项为:1000101woorrrmmm 作数都是寄存器,那么一般要以目的操作数为准 好了,已经解完第二题了,机器码为8BC3H 呵呵,不错吧,很简单吧,有了80X86 OPCODES 查询表一切都是那么简单,如果还有什么问题,大家都来这里提问! 剩下的: 指令2 -> MOV EBX,0 对应的机器码为:66BB00000000 指令3 -> MOV CL,55H 对应的机器码为: B155 大家来练练手,注意指令2 需要用到32位指令格式,请查阅相关的80x86汇编语言书籍的机器语言部分,应该有解释的。 指令2的解法,请大家等待,或者大家研究一下,把解法贴出来,给大家参考哦! |
| [ ] [返回上一页] [打 印] [收 藏] |
上一篇文章:汇编语言上机指导及例示
下一篇文章:关于在8086/88内存寻址方式 |
