datasheet
超过460,000+ 应用技术资源下载
rar

汇编语言程序设计教程

  • 1星
  • 日期: 2013-09-22
  • 大小: 14.46MB
  • 所需积分:1分
  • 下载次数:7
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 汇编语言程序设计教程

           汇编语言程序设计教程1章绪论11.1汇编语言概述11.1.1汇编语言11.1.2汇编语言的特点21.1.3恰当地使用汇编语言31.2数据的表示和类型41.2.1数值数据的表示41.2.2非数值数据的表示61.2.3基本数据类型71.3Intel系列CPU简介81.3.18位微处理器81.3.216位微处理器91.3.332位微处理器11131.4习题14第2章8086/8088寻址方式和指令系统152.18086/8088寄存器组152.1.18086/8088 CPU寄存器组152.1.2标志寄存器172.2存储器分段和地址的形成192.2.1存储单元的地址和内容192.2.2存储器的分段202.2.3物理地址的形成202.2.4段寄存器的引用212.38086/8088的寻址方式222.3.1立即寻址方式232.3.2寄存器寻址方式232.3.3直接寻址方式232.3.4寄存器间接寻址方式242.3.5寄存器相对寻址方式252.3.6基址加变址寻址方式262.3.7相对基址加变址寻址方式272.48086/8088指令系统282.4.1指令集说明282.4.2数据传送指令292.4.3堆栈操作指令322.4.4标志操作指令342.4.5加减运算指令362.4.6乘除运算指令412.4.7逻辑运算和移位指令442.4.8转移指令512.5习题58第3章汇编语言及其程序设计初步633.1汇编语言的语句633.1.1语句的种类和格式633.1.2数值表达式643.1.3地址表达式673.2变量和标号673.2.1数据定义语句673.2.2变量和标号703.3常用伪指令语句和源程序组织733.3.1符号定义语句743.3.2段定义语句753.3.3汇编语言源程序的组织793.4 顺序程序设计813.4.1顺序程序举例813.4.2简单查表法代码转换833.4.3查表法求函数值853.5分支程序设计863.5.1分支程序举例863.5.2利用地址表实现多向分支913.6循环程序设计943.6.1循环程序举例943.6.2多重循环程序举例1033.7习题106第4章子程序设计和DOS功能调用1104.1子程序设计1104.1.1过程调用和返回指令1104.1.2过程定义语句1154.1.3子程序举例1164.1.4子程序说明信息1184.1.5寄存器的保护与恢复1194.2主程序与子程序间的参数传递1214.2.1利用寄存器传递参数1214.2.2利用约定存储单元传递参数1234.2.3利用堆栈传递参数1254.2.4利用CALL后续区传递参数1274.3DOS功能调用及应用1294.3.1DOS功能调用概述1294.3.2基本I/O功能调用1304.3.3应用举例1324.4磁盘文件管理及应用1414.4.1DOS磁盘文件管理功能调用1414.4.2应用举例1434.5子程序的递归和重入1504.5.1递归子程序1504.5.2可重入子程序1514.6习题152第5章输入输出与中断1555.1输入和输出的基本概念1555.1.1I/O端口地址和I/O指令1555.1.2数据传送方式1565.1.3存取RT/CMOS RAM1575.2查询方式传送数据1605.2.1查询传送方式1605.2.2读实时钟1615.2.3查询方式打印输出1625.3中断1645.3.1中断和中断传送方式1645.3.2中断向量表1655.3.3中断响应过程1685.3.4外部中断1685.3.5内部中断1705.3.6中断优先级和中断嵌套1725.3.7中断处理程序的设计1735.4基本输入输出系统BIOS1745.4.1基本输入输出系统BIOS概述1745.4.2键盘输入1755.4.3显示输出1785.4.4打印输出1885.5 软中断处理程序举例1915.5.1打印I/O程序1915.5.2时钟显示程序1945.6习题197第6章简单应用程序的设计2006.1字符串处理2006.1.1字符串操作指令2006.1.2重复前缀2056.1.3字符串操作举例2086.2十进制数算术运算调整指令及应用2156.2.1组合BCD码的算术运算调整指令2156.2.2未组合BCD码的算术运算调整指令2166.2.3应用举例2186.3DOS程序段前缀和特殊情况处理程序2246.3.1DOS程序段前缀PSP2246.3.2对Ctrl+C键和Ctrl+Break键的处理2286.4TSR程序设计举例2346.4.1驻留的时钟显示程序2346.4.2热键激活的TSR程序2366.5习题238第7章高级汇编语言技术2417.1结构和记录2417.1.1结构2417.1.2记录2467.2宏2497.2.1宏指令的定义和使用2507.2.2宏指令的用途2517.2.3宏指令中参数的使用2537.2.4特殊的宏运算符2547.2.5宏与子程序的区别2567.2.6与宏有关的伪指令2567.2.7宏定义的嵌套2587.3重复汇编2607.3.1伪指令REPT2607.3.2伪指令IRP2617.3.3伪指令IRPC2627.4条件汇编2627.4.1条件汇编伪指令2637.4.2条件汇编与宏结合2657.5源程序的结合2687.5.1源程序的结合2687.5.2宏库的使用2717.6习题273第8章模块化程序设计技术2758.1段的完整定义2758.1.1完整的段定义2758.1.2关于堆栈段的说明2808.1.3段组的说明和使用2818.2段的简化定义2858.2.1存储模型说明伪指令2858.2.2简化的段定义伪指令2858.2.3存储模型说明伪指令的隐含动作2888.3模块间的通信2898.3.1伪指令PUBLIC和伪指令EXTRN2898.3.2模块间的转移2918.3.3模块间的信息传递2938.4子程序库2988.4.1子程序库2988.4.2建立子程序库2988.4.3使用举例3018.5编写供Turbo C调用的函数3038.5.1汇编格式的编译结果3038.5.2汇编模块应该遵守的约定3068.5.3参数传递和寄存器保护3078.5.4举例3098.6习题313第二部分提 高 部 分第9章80386程序设计基础3149.180386寄存器3149.1.1通用寄存器3159.1.2段寄存器3159.1.3指令指针和标志寄存器3169.280386存储器寻址3169.2.1存储器寻址基本概念3179.2.2灵活的存储器寻址方式3189.2.3支持各种数据结构3209.380386指令集3209.3.1数据传送指令3219.3.2算术运算指令3269.3.3逻辑运算和移位指令3279.3.4控制转移指令3309.3.5串操作指令3349.3.6高级语言支持指令3379.3.7条件字节设置指令3409.3.8位操作指令3429.3.9处理器控制指令3459.4实方式下的程序设计3469.4.1说明3469.4.2实例3489.5习题358第10章保护方式下的80386及其编程36110.1保护方式简述36110.1.1存储管理机制36110.1.2保护机制36310.2分段管理机制36410.2.1段定义和虚拟地址到线性地址转换36410.2.2存储段描述符36610.2.3全局和局部描述符表36910.2.4段选择子37010.2.5段描述符高速缓冲寄存器37110.380386控制寄存器和系统地址寄存器37210.3.1控制寄存器37210.3.2系统地址寄存器37410.4实方式与保护方式切换实例37510.4.1演示实方式和保护方式切换的实例(实例一)37610.4.2演示32位代码段和16位代码段切换的实例(实例二)38210.5任务状态段和控制门38910.5.1系统段描述符38910.5.2门描述符39010.5.3任务状态段39210.6控制转移39510.6.1任务内无特权级变换的转移39510.6.2演示任务内无特权级变换转移的实例(实例三)39710.6.3任务内不同特权级的变换40810.6.4演示任务内特权级变换的实例(实例四)41010.6.5任务切换42010.6.6演示任务切换的实例(实例五)42210.780386的中断和异常43110.7.180386的中断和异常43110.7.2异常类型43310.7.3中断和异常的转移方法43710.7.4演示中断处理的实例(实例六)44210.7.5演示异常处理的实例(实例七)45010.7.6各种转移途径小结46510.8操作系统类指令46610.8.1实方式和任何特权级下可执行的指令46710.8.2实方式及特权级0下可执行的指令46810.8.3只能在保护方式下执行的指令47010.8.4显示关键寄存器内容的实例(实例八)47310.8.5特权指令47710.9输入/输出保护47710.9.1输入/输出保护47710.9.2重要标志保护48110.9.3演示输入/输出保护的实例(实例九)48110.10分页管理机制49210.10.1存储器分页管理机制49210.10.2线性地址到物理地址的转换49310.10.3页级保护和虚拟存储器支持49610.10.4页异常49810.10.5演示分页机制的实例(实例十)49910.11虚拟8086方式50610.11.1V86方式50610.11.2进入和离开V86方式50610.11.3演示进入和离开V86方式的实例(实例十一)51010.11.4V86方式下的敏感指令52210.12习题523第11章80486及Pentium程序设计基础52511.180486程序设计基础52511.1.1寄存器52511.1.2指令系统52711.1.3片上超高速缓存53011.280486对调试的支持53511.2.1调试寄存器53511.2.2演示调试故障/陷阱的实例53811.3Pentium程序设计基础54311.3.1寄存器54311.3.2指令系统54511.3.3处理器的识别54811.3.4片上超高速缓存55311.4基于Pentium的程序优化技术55711.4.1流水线优化技术55711.4.2分支优化技术56411.4.3超高速缓存优化技术56711.5习题569第三部分上机实验指导第12章实验指导57212.1实验的一般步骤57212.2汇编器和连接器的使用57412.2.1MASM的使用57412.2.2LINK的使用57512.2.3TASM的使用57712.2.4TLINK的使用57812.3调试器DEBUG的使用57812.3.1启动和退出DEBUG57912.3.2命令一览58012.3.3利用DEBUG调试程序58212.4Turbo Debugger的使用58712.4.1启动和退出TD58712.4.2利用TD调试汇编程序588参考文献592附录Pentium指令与标志参考表593

更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })