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

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汇编语言程序设计
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《汇编语言与接口技术》课程教学资源(PPT课件)第1章 微型计算机概述.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第3章 80x86指令系统和寻址方式.ppt
- 《汇编语言与接口技术》课程教学大纲 Assembly Language and Interface Technology.doc
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第6章 应用层.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第5章 运输层.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第7章 网络安全.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第4章 网络层.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第3章 数据链路层.ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第1章 概述(主讲:马伟锋).ppt
- 浙江科技大学:《计算机网络》课程教学资源(PPT课件)第2章 物理层.ppt
- 浙江科技大学:《计算机网络》课程教学大纲(实验课).doc
- 浙江科技大学:《计算机网络》课程教学大纲 Computer Networks Technology.doc
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第10章 网络硬件.ppt
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第9章 外围设备.ppt
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第8章 外围设备接口.ppt
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第7章 与外设的数据传输.ppt
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第6章 微机总线.ppt
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第5章 汇编语言.ppt
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第4章 存储系统.ppt
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第3章 指令系统.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第2章 80x86微处理器.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第6章 存储器技术.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第5章 软件接口技术.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第8章 中断和DMA技术.ppt
- 《汇编语言与接口技术》课程教学资源(PPT课件)第7章 串并行接口技术.ppt
- 《汇编语言与接口技术》课程教学资源(作业习题)汇编语言与接口技术练习题(题目).doc
- 《汇编语言与接口技术》课程教学资源(作业习题)汇编语言与接口技术练习题(答案).doc
- 清华大学出版社:《计算机操作系统教程》习题解答与实验指导(教材PDF电子版,第2版,编著:张尧学).pdf
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象3-面向对象特征(1/3).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象4-面向对象特征(2/3).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)04 Java面向对象5-面向对象特征(3/3).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)05 Java异常处理.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)06 Java文件输入输出.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)07 Java线程.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)08 Java网络编程.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)09 Java数据库编程(1/2).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)09 Java数据库编程(2/2).pptx
- 《Java程序设计》课程教学课件(PPT讲稿)0 1Java概述.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)02 Java程序设计基础1—运算符和表达式.pptx
- 《Java程序设计》课程教学课件(PPT讲稿)03 Java程序设计基础2—数组.pptx
