汇编程序分析报告.pptVIP

  • 26
  • 0
  • 约1.28万字
  • 约 79页
  • 2017-08-26 发布于湖北
  • 举报
一、编辑汇编语言源程序 二、汇编源程序 用宏汇编(MASM)对汇编源程序进行汇编,产生目标程序(文件名.OBJ) 三、连接程序 用连接程序(LINK)将若干目标模块连同库子程序连接在一起,产生可执行文件(文件名.EXE) 5、递归子程序 在子程序嵌套的情况下,如果一个子程序调用的子程序就是它自身,这就称为递归调用。这样的子程序称为递归子程序。例如阶乘函数,常常使用递归子程序的设计方法 。 4.5 DOS功能调用 DOS(disk operation system)主要功能是进行文件管理和输入/输出设备管理,故而称为磁盘操作系统。磁盘操作系统是人和机器交互的界面,用户通过操作系统使用和操作计算机。 基本输入/输出系统BIOS(basic input/output system)是固化在只读存储器ROM中的基本输入/输出程序。它直接可对外部设备进行设备升级的控制,包括系统测试、初始化引导程序、控制I/O设备的服务程序等。 DOS和BIOS提供了大量的可供用户直接使用的系统服务程序 使用INT n软中断指令 类型码n=05H~1FH时,调用BIOS的中断处理程序; 类型码n=20H~3FH时,调用DOS的中断处理程序。 二、常用DOS系统功能调用 (1)把所调用功能的功能号送AH寄存器; (2)根据所调用功能的规定设置入口参数; (3)执行INT 21H指令,实现DOS功能调用; (4)相应功能执行完毕,按规定取出出口参数。 (1)键盘输入单字符(1号调用) 调用格式: MOV AH,1 INT 21H (2)显示单字符(2号调用) 调用格式: MOV DL,待显示字符的ASCII码 MOV AH,2 INT 21H (3)显示字符串(9号调用) 调用格式: LEA DX,字符串首地址 MOV AH,9 INT 21H 注意: 字符串以”$”结束 (2)LENGTH 格式为:LENGTH Variable 对于变量中使用DUP的情况,汇编程序将回送分配给该变量的单元个数。而对于其他情况则回送1。 例:FEES DW 100 DUP(0) 指令MOV CX,LENGTH FEES 汇编程序将使其形成:MOV CX,100 例:TABLE DB ‘ABCD’ 指令MOV CX,LENGTH TABLE 汇编程序将使其形成:MOV CX,1 (3)SIZE 格式为:SIZE Variable 其汇编的值为LENGTH Variable * TYPE Variable,即回送直接分配给该变量的总的字节数。 例:FEES DW 100 DUP(0) MOV CX,SIZE FFES 汇编程序将使其形成: MOV CX,200 (4)OFFSET 格式为:OFFSET Variable或label 汇编程序将回送变量或标号的偏移地址值。 例:MOV BX,OFFSET OPER_ONE 与指令LEA BX,OPER_ONE 等价。 (5)SEG 格式为:SEG Variable或label 汇编程序将回送变量或标号的段地址值。 例:如果DATA_SEG是从存储器的05000H地址开始的一个数据段的段名,BUF1是该段中的一个变量名 若指令MOV AX,SEG BUF1 MOV DS, AX 则执行后AX=DS=0500H 5.属性操作符(5种) (1)PTR 格式为:type PTR expression VARl DB 10H,18H,25H,34H VAR2 DW 1223H,1200H MOV AX, WORD PTR VARl 执行后:AX=1810H MOV BL, BYTE PTR VAR2 执行后:BL=23H (2)段超越前缀 用来表示一个标号、变量或地址表达式的段属性。 MOV AX,ES:[BX+SI] (3)SHORT 用来修饰JMP指令中转向地址的属性,指出转向地址是在下一条指令地址±127个字节范围之内。 例如:在JMP指令中使用SHORT运算符来进行短距离跳转。 ┇ JMP SHORT NEXT ┇ NEXT:…. ┇ 该例中,使用SHORT运算符后,跳转标号NEXT与JMP指令的距离不能大于127个字节。 (4)THIS 格式为:THIS attribute或type 可以建立一个指定类型(BYTE、WORD或DWO

文档评论(0)

1亿VIP精品文档

相关文档