汇编学习
西红柿爱炒番茄
这个作者很懒,什么都没留下…
展开
-
8086汇编PTR的含义与用法 (十分全面详细)
最近在学习汇编时对汇编代码里的ptr不是很清楚,而书上又没有详细的解释和例子,于是在网上看了些文章,整理总结一下。ptr -- pointer (既指针)得缩写。 汇编里面 ptr 是规定 的 字 (既保留字),是用来临时指定类型的。 (可以理解为,ptr是临时的类型转换,相当于C语言中的强制类型转换)如 mov ax,bx ; 是把BX寄存器“里”的值赋予AX,由于二者都是寄存器,长...原创 2018-06-14 22:01:20 · 23538 阅读 · 3 评论 -
8086汇编 mov指令易错的语法点总结(考前必看)
一、易错语法点1.立即数不能作为目的操作数,如mov 110H,AX2.立即数不能直接传给段寄存器,如mov DS,110H2.两个操作数不能同时为段寄存器,如mov ES,DS3.两个操作数不能同时为存储单元,如mov [0x1245],[0x1312]5.代码段寄存器CS不能为目的操作数,但可为源操作数6.指令指针IP不能作为mov指令的操作数二、解决方案举例MOV指令的变通方法功能描述不正确...原创 2018-06-14 22:17:31 · 7482 阅读 · 0 评论 -
8086汇编push pop 易错点总结
1、push pop 只对字操作(不允许字节进栈)操作数长度为32位时进出栈为双字。2、汇编语言中PUSH导致SP减2而不是加2。原因:栈在内存中实际存储结构是栈底在高地址,栈顶在低地址3、8086push不可以使用立即数寻址方式(其他版本允许)4、pop...原创 2018-06-15 07:34:40 · 4822 阅读 · 0 评论 -
8086汇编LEA指令总结
1、格式:LEA OPRD1,OPRD2 (本指令对标志位无影响)OPRD1 为目的操作数,可为任意一个16位的通用寄存器.除段寄存器外OPRD2 为源操作数,可为变量名、标号或地址表达式.除立即数外。2、示例:LEA BX,DATA1LEA DX,BETA[BX+SI]LEA BX BX,[BP],[DI]3、操作数长度和地址长度不同时操作数长(16)小于地址长(32),取低16位存目的寄存器...原创 2018-06-15 14:57:15 · 4637 阅读 · 1 评论 -
汇编语言中关于Length操作符的问题
再看汇编语言程序设计时有个例题是这样的ARRAY DW 1,2,3对于指令MOV CX,LENGTH ARRAY汇编程序将其形成为MOV CX,1还有个例题TABLE DB ’ABCD’对于指令MOV CX,LENGTH TABLE汇编程序使其形成MOV CX,1 而书上对length的定义却是:数值回送操作符LENGTH返回的是变量的单元数但是书上的定义有点模糊准确的定义应该是:LENGTH返回...原创 2018-06-28 19:26:39 · 8719 阅读 · 8 评论