汇编语言中 LEA DX,S MOV AH,9 INT 21H具体意思是啥,请大师指教。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了汇编语言中 LEA DX,S MOV AH,9 INT 21H具体意思是啥,请大师指教。相关的知识,希望对你有一定的参考价值。

LEA DX,S;装载s的有效地址到dx,该语句可以用mov;

dx,s代换,把S单元的地址装到DX,因为下zhi一条指令dao要用到S的地址;

MOV AH,9 INT 21H;调用DOS功能,该功能为显示DS:DX地址处的字符;

汇编语言

MOV AH 0BH

INT 21H是86单片机的DOS调用中断

完成的功能是:检验键盘状态

返回值:AL=00,有输入

AL=FF,无输入

扩展资料:

用汇编语言等非机器语言书写好的符号程序称为源程序,汇编语言编译器的作用是将源程序翻译成目标程序。目标程序是机器语言程序,当它被安置在内存的预定位置上后,就能被计算机的CPU处理和执行。 

汇编的调试环境总的来说比较少,也很少有非常好的编译器。编译器的选择依赖于目标处理器的类型和具体的系统平台。一般来说,功能良好的编译器用起来应当非常方便,比如,应当可以自动整理格式、语法高亮显示,集编译、链接和调试为一体,方便实用。

参考资料来源:百度百科-汇编语言

参考技术A LEA DX,S ;装载s的有效地址到dx,该语句可以用mov dx,s代换,把S单元的地址装到DX,因为下一条指令要用到S的地址
MOV AH,9 INT 21H;调用DOS功能,该功能为显示DS:DX地址处的字符本回答被提问者采纳
参考技术B

汇编语言中 LEA DX,S MOV AH,9 INT 21H具体意思是什么,请大师指教。

这三条: 

LEA DX,S 

MOV AH,9 

INT 21H

是显示字符串的中断调用通用格式。

字符串起始地址在 S,字符串借位是 $。

参考技术C 显示ds:dx以'$'为结尾的字符串。

Android 逆向x86 汇编 ( call 子函数调用指令 | jmp 跳转指令 | lea 加载指令 | mov 数据传送指令 )





一、call 子函数调用指令



call 指令是 子函数调用指令 , 调用的指令的下一条指令地址入栈 , 会自动跳转到 子函数 目标地址中 , 该地址可能存储在寄存器中 , 也可能是一个常量 ;





二、jmp 跳转指令



jmp 跳转指令 , 默认情况下是无条件跳转 ;

如果想要附加条件跳转 , 如达成某种条件后才能跳转 , 可以附带如下条件 ;

  • a : above , 无符号 大于 跳转 ;

  • b : below , 吗无符号 小于 跳转 ;

  • g : great , 有符号 大于 跳转 ;

  • l : less , 有符号 小于 跳转 ;

  • e : equal , 等于 ;

  • n : negative , 反条件 ;

  • o : 对应 溢出标志 , 减法操作是否会导致溢出 ; ( 与运算不存在进位 , 没有溢出 )

  • p : 对应 奇偶 位 , 运算结果 的 奇偶 , 检测结果最后一个位是 0 0 0 还是 1 1 1 ;

  • s : 对应 符号标志位 , 计算结果如果是负数 , 该标志位设置成 0 0 0 , 计算结果如果是正数 , 该标志位设置成 1 1 1 ;

  • z : 对应 零标志 , 如果 与操作 最后的结果是 0 0 0 , 该 零标志位 会被设置成 1 1 1 , 如果 与操作 结果不为 0 0 0 , 该 零标志位 会被设置成 0 0 0 ;


上述条件可以进行任意组合 , 如

  • a 表示大于跳转 ,
  • e 表示等于跳转 ,
  • ae 表示大于等于跳转 ,
  • nae 表示不大于等于跳转 即 小于跳转 ;




三、lea 加载指令



lea 指令 : Load Effect Address 取地址值 , 将 数据地址 加载到 寄存器 中 , 方便进行批量数据处理 , 如批量复制 , 批量修改 ;





四、mov 数据传送指令



mov 指令是数据传送指令 ;

mov a1 , a2 指令的作用是 , 将 a2 中的值写入到 a1 中 ;





总结



align 字节对齐 , db 声明字符 / 字符串 , nop 空指令
cmp 比较 , test 比较
call 子函数调用指令 , jmp 跳转指令 ( 可选参数 a , b , c , g , l , o , p , s , z , e , n)
lea 加载指令 , lds , les , lfs , lgs , lss , mov 数据传送指令
push , pop , pushf , popf , pushd , popd , pushad , popad , pusha , popa
ret , retn , set
add , sub , mul , div
xor , not , shl , shr , sal , sar , rol , ror , rcl , rcr

以上是关于汇编语言中 LEA DX,S MOV AH,9 INT 21H具体意思是啥,请大师指教。的主要内容,如果未能解决你的问题,请参考以下文章

LEA & MOV 指令比较

汇编指令学习(MOV,MOVSX,MOVZX,LEA,XCHG)

总结一下汇编中mov,lea指令的区别

汇编语言程序设计第二章小结

汇编语言int 21的10号功能的具体使用

汇编里 mov ah,1 int 21h是啥意思