中国高校课件下载中心 》 教学资源 》 大学文库

《汇编语言与接口技术》课程教学资源(PPT课件)第4章 80x86汇编语言程序设计

文档信息
资源类别:文库
文档格式:PPT
文档页数:82
文件大小:349.5KB
团购合买:点击进入团购
内容简介
4.1 MASM宏汇编语句结构以及开发过程 4.2 MASM汇编语言表达式、运算符 4.3 程序段的定义和属性 4.4 复杂数据结构 4.5 宏汇编 4.6 基本汇编语言程序设计 4.7 子程序设计 4.8 高级汇编语言程序设计
刷新页面文档预览

1 第4章 80x86汇编语言程序设计 4.1 MASM宏汇编语句结构以及开发过程 4.2 MASM汇编语言表达式、运算符 4.3 程序段的定义和属性 4.4 复杂数据结构 4.5 宏汇编 4.6 基本汇编语言程序设计 4.7 子程序设计 4.8 高级汇编语言程序设计

2 4.1 MASM宏汇编语句结构以及开发过程 4.1.1 汇编语言程序的语句类型和格式 1. 语句的类型 ◼ 硬指令语句 ◼ 伪指令语句 ◼ 宏指令语句 2. 语句的格式 ◼ 执行性语句——由硬指令构成的语句,它通常对应一条机器指令, 出现在程序的代码段中: 标号:硬指令助记符 操作数,操作数 ;注释 ◼ 说明性语句——由伪指令构成的语句,它通常指示汇编程序如何 汇编源程序: 名字 伪指令助记符 参数,参数,. ;注释 第4章 80x86汇编语言程序设计

3 4.1.2 汇编语言的程序格式 例 4.1 简化段定义的源程序格式: .MODEL SMALL .STACK .DATA STRING DB 'Hello, Everybody!', 0DH, 0AH, '$' .CODE .STARTUP MOV DX, OFFSET STRING MOV AH, 9 INT 21H .EXIT 0 END 第4章 80x86汇编语言程序设计

4 例 4.2 完整段定义的源程序格式: STACK SEGMENT STACK DW 512 DUP(?) STACK ENDS DATA SEGMENT STRING DB 'Hello, Everybody!', 0DH, 0AH, '$' DATA ENDS CODE SEGMENT 'CODE' ASSUME CS: CODE, DS: DATA, SS: STACK START:MOV AX, DATA MOV DS, AX MOV DX, OFFSET STRING MOV AH, 9 INT 21H MOV AH, 4CH INT 21H CODE ENDS END START 第4章 80x86汇编语言程序设计

5 4.1.3 汇编语言程序的开发过程 ◼ 四个步骤: 1. 编辑——编辑软件,建立*.asm 2. 汇编——MASM.EXE,生成*.obj 3. 链接——LINK.EXE,生成*.exe 4. 运行/调试——DEBUG.EXE ◼ ML.EXE——ML汇编程序可以自动调用LINK程序(ML表示 (MASM和LINK) ◼ CodeView调试器CV.EXE ◼ PWB(Programmer's WorkBench)——MASM 6.11提供的编程集成 环境,在此环境下,程序员可直接编写源程序、汇编、链接和运行。 第4章 80x86汇编语言程序设计

6 ML [ /options ] filelist [ /link linkoptions ] /AT Enable tiny model (.COM file) /nologo Suppress copyright message /Bl Use alternate linker /Sa Maximize source listing /c Assemble without linking /Sc Generate timings in listing /Cp Preserve case of user identifiers /Sf Generate first pass listing /Cu Map all identifiers to upper case /Sl Set line width /Cx Preserve case in publics, externs /Sn Suppress symbol-table listing /coff generate COFF format object file /Sp Set page length /D[=text] Define text macro /Ss Set subtitle /EP Output preprocessed listing to stdout /St Set title /F Set stack size (bytes) /Sx List false conditionals /Fe Name executable /Ta Assemble non-.ASM file /Fl[file] Generate listing /w Same as /W0 /WX /Fm[file] Generate map /WX Treat warnings as errors /Fo Name object file /W Set warning level /FPi Generate 80x87 emulator encoding /X Ignore INCLUDE environment path /Fr[file] Generate limited browser info /Zd Add line number debug info /FR[file] Generate full browser info /Zf Make all symbols public /G Use Pascal, C, or Stdcall calls /Zi Add symbolic debug info /H Set max external name length /Zm Enable MASM 5.10 compatibility /I Add include path /Zp[n] Set structure alignment /link /Zs Perform syntax check only 第4章 80x86汇编语言程序设计

7 第4章 80x86汇编语言程序设计

8 实验1 汇编语言程序设计 一、实验目的 1. 熟悉MASM 6.11汇编语言程序开发环境。 2. 掌握汇编语言程序的调试方法和常用的调试工具。 二、实验内容 1. 安装MASM 6.11。 2. 设置MASM 6.11 PWB。 3. 设在内存中首地址为BLOCK的区域存有一批数据:61H,84H, 93H,0C4H,17H,0FFH,52H,2AH。分别按下列要求编写汇编 语言程序: (1) 视该批数据为8位无符号数,采用冒泡法将其按升序排序; (2) 视该批数据为8位有符号数,采用冒泡法将其按升序排序。 三、实验要求 1. 根据实验内容编写程序。 2. 上机调试程序。 3. 记录并分析程序运行结果。 第4章 80x86汇编语言程序设计

9 实验1 参考程序bubble.asm .model small .data n dw 8 block db 61h,84h,93h,0c4h,17h,0ffh,52H,2ah .stack 60h .code .startup mov ax,@data mov ds,ax mov cx,n dec cx loop1: mov dx,cx mov bx,0 loop2: mov al,block[bx] 第4章 80x86汇编语言程序设计 cmp al,block[bx+1] jna continue xchg al,block[bx+1] mov block[bx],al continue: add bx,1 loop loop2 mov cx,dx loop loop1 .exit end 1. 输入源程序bubble.asm 2. ML bubble.asm 3. DEBUG bubble.exe

10 4.2 MASM汇编语言表达式、运算符 4.2.1 常量、运算符及表达式 1. 常数 ◼ 十进制常数——后缀D/d (可省略) ◼ 十六进制常数——后缀H/h ◼ 二进制常数——后缀B/b ◼ 八进制常数——后缀Q/q ◼ 改变默认进制——.RADIX n ◼ 字符串常数——'Hello, Everybody!' ◼ 符号常数——伪指令“EQU”和“ = ” 符号名 EQU 数值表达式 符号名 EQU 例:N EQU 10 N=10 第4章 80x86汇编语言程序设计

刷新页面下载完整文档
VIP每日下载上限内不扣除下载券和下载次数;
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
相关文档