打破常规——巧用寄存器
按照默认的函数调用约定,在调用 API 时有些寄存器(如 EBP、ESI、EDI 等)总是被保存在栈中。 继续阅读“巧用寄存器”
按照默认的函数调用约定,在调用 API 时有些寄存器(如 EBP、ESI、EDI 等)总是被保存在栈中。 继续阅读“巧用寄存器”
x86 指令集中指令所对应的机器码的长短是不一样的,有时候功能相似的指令的机器码长度差异会很大。这里给出一些非常有用的单字节指令。 继续阅读“x86中的短指令”
MASM汇编程序为配合编写子程序、中断服务程序等程序模块,设置了过程定义伪指令,由PROC和ENDP组成,基本格式如下: 继续阅读“过程定义伪指令”
存储模型(Memory Model)决定一个程序的规模,也确定进行子程序调用、指令转移和数据访问的默认属性。当使用简化段定义的源程序格式时,必须有存储模型.MODEL语句,且位于所有简化段定义语句之前。其格式为: 继续阅读“程序的储存模型和逻辑段的简化定义”
出口参数:AL=ASCII子符
功能说明:键但输入一个字符。如果AL=00h.应再次调用该功能获取扩展ASClI字初代码。本功能将在屏称上显示输入的内容(有回显)。调用该功能如果没有按键输入,则一直循环等待直到按键才结束功能调用,此时控制返回调用程序 继续阅读“INT 21h常用功能号”
变量定义的存储空间是按照书写的先后顺序一个接一个分配的。而定位伪指令可以控制其存放的偏移地址。 继续阅读“org和align伪指令”