跟我一起学编程系列课程: 第一篇汇编语言 16位汇编.

Slides:



Advertisements
Similar presentations
Assembly Language Programming 湛江师范学院 汇编语言程序设计实验课件 主讲教师:王 晓 晔.
Advertisements

广东外语外贸大学 信息科学技术学院 《汇编语言与计算机组成原理》 第一篇 汇编语言 调试程序DEBUG.
第十一章 汇编语言程序的开发 第一节 汇编语言程序的开发过程 .ASM .EXE .MAP .LST .CRF .OBJ 开始 编辑程序
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
汇编语言程序设计课程设计 第一次实验 DEBUG基本命令与数据传输指令
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
本节内容 模拟线程切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
逆向工程-汇编语言
第四章 附件 (应用程序软件包).
本节内容 字符编码 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 登录UNIX操作系统.
C语言程序设计 主讲教师:陆幼利.
_01Win32简介与IDE简介 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
本节内容 随机读取 视频提供:昆山爱达人信息技术有限公司.
本节内容 消息的分发 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_18静态库与动态链接库 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
第二章 Java基本语法 讲师:复凡.
_04Combox控件和ListBox控件的使用
_05MessageMap的原理 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
项目二:HTML语言基础.
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
Select模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
编译OpenSSL 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
本节内容 Win32 API中的宽字符 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第4章 Excel电子表格制作软件 4.4 函数(一).
_08文件的基本操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
本节内容 类成员的访问控制 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 内存复制指令 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 Private Memory 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
<编程达人入门课程> 本节内容 计算机编程语言 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 结构体 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 线性地址的管理 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_13简单的GDI绘图操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
本节内容 文件系统 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 模块隐藏 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
第二章 Java基本语法 讲师:复凡.
3.1私有内存的分配.
本节内容 消息的接收 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
<编程达人入门课程> 本节内容 学习路线 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
本节内容 C语言的汇编表示 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_03宽字符与Unicode编程 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
第二章 Java基本语法 讲师:复凡.
Python 环境搭建 基于Anaconda和VSCode.
本节内容 结构体.
本节内容 Windows线程切换_时钟中断切换 视频提供:昆山滴水信息技术有限公司 官网地址: 论坛地址: QQ交流 :
本节内容 指针类型的使用 视频提供:昆山爱达人信息技术有限公司.
本节内容 通用寄存器 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
_08文件操作 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
WSAAsyncSelect 模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
MFC控件 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
_07多连接之select模型 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司 官网地址:
阻塞式模型 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang 官网地址:
MFC的六大核心 机制 命令传递 本节内容 视频提供:昆山爱达人信息技术有限公司 视频录制:yang
_01自己实现简单的消息处理框架模型 本节课讲师——void* 视频提供:昆山爱达人信息技术有限公司
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
本节内容 动态链接库 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 导出表 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
微机原理与接口技术 微机原理与接口技术 朱华贵 2015年10月30日.
本节内容 如何调试驱动程序? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
本节内容 进程 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
编程达人-- 从零开始学UI系列教程 第九节、布尔运算 先行者 YC.
顺序结构程序设计 ——关于“字符串”和数值.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
本节内容 this指针 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群 : 联系电话:
跟我一起学编程系列课程: 第一篇汇编语言 16位汇编.
跟我一起学编程系列课程: 第一篇汇编语言 32位汇编.
Presentation transcript:

跟我一起学编程系列课程: 第一篇汇编语言 16位汇编

第二部分基础知识 第一节 16位汇编语言学习环境

16位汇编语言学习环境搭建 1、汇编语言程序设计编程调试过程 第一步编写源程序 第二步汇编源程序 第三步;连接目标程序 第四步:调试可执行程序 举例说明:汇编程序HELLO.ASM

16位汇编语言学习环境搭建 2、DOSBOX虚拟机安装

16位汇编语言学习环境搭建 3、文本编辑工具:Notepad++

16位汇编语言学习环境搭建 4、MASM命令的使用 MASM [/options] [source(.asm)],[out(.obj)],[list(.lst)],[cref(.crf)] [;] 可选的命令动作选项由符号“/”引导。利用命令“MASM /HELP”可获得有关命令动作选项及其说明信息。 source(.asm)指定源程序,缺省扩展名为ASM out(.obj)指定输出的目标代码文件。缺省的文件名同源文件名,缺省的扩展名为OBJ list(.lst)指定输出的列表文件,缺省扩展名是LST。缺省情况下不生成列表文件。 cref(.crf)指定输出的交叉参考文件,缺省的扩展名是CRF。缺省情况是不生成交叉参考文件。 命令行最后的[;]表示其后的缺省项,按缺省处理。 C>MASM HELLO

16位汇编语言学习环境搭建 5、LINK 命令的使用 LINK [/options] [source(.obj)...],[out(.exe)],[mapfile(.map)],[library(.lib)...] [;] 可选的命令动作选项由符号“/”引导。利用命令“LINK /HELP”可获得有关命令动作选项及其说明信息。 source(.obj)指定目标代码文件,缺省扩展名为OBJ。可以有多个目标程序代码文件,文件标识间用加号间隔或者用空格间隔。 out(.exe)指定输出的可执行文件。缺省的文件名同第一个目标代码模块的文件名,缺省的扩展名为EXE. mapfile(.map)指定输出的定位图文件,缺省扩展名是MAP。缺省情况下不生成定位图文件。 library(.lib)指定连接时使用的库文件,缺省的扩展名是LIB。可以有多个库,库文件标识间加号间隔或者使用空格间隔。缺省情况下不使用库。 命令行最后的[;]表示其后的缺省项,按缺省设置处理。 C>LINK HELLO; C>LINK TEST1+TEST2,TEST; TEST1和TEST2连接,生成的可执行程序存放在TEST.EXE中 C>LINK ABC,DEF 把目标代码模块ABC.OBJ与库DEF.LIB内的函数(过程)连接,生成的可执行程序文件存放在ABC.EXE中。 C>LINK TEST1 TEST2,ABC,GHI,DEF 把主目标模块TEST1.OBJ和TEST2.OBJ与库DEF.LIB内的函数(过程)连接,生成的可执行程序文件存放在ABC.EXE中,生成定位图文件GHI.MAP

16位汇编语言学习环境搭建 6、debug.exe调试工具使用 启动DEBUG debug [文件标识符[参数表]] C>debug C>debug HELLO.EXE 退出DEBUG DEBUG提示符:-Q 常用命令: r命令:查看或者改变CPU寄存器的内容。 查看寄存器:r 改变某个寄存器内容:r 寄存器(如:ax),之后按下Enter出现“:”,再输入值

16位汇编语言学习环境搭建 debug常见的使用命令 d命令:查看某段内存内容 注意:直接使用d命令,显示的是debug预设地址处的内容

16位汇编语言学习环境搭建 e命令:改变内存内容 改变内存内容:e 段地址:偏移地址 写入的数据 u命令:将机器指令翻译成汇编指令 机器指令翻译成汇编指令:u 段地址:偏移地址 注意:如果直接使用命令u,debug将会把CPU中CS:IP指向的内存内容翻译成汇编指令

16位汇编语言学习环境搭建 t命令:cpu执行一条机器指令(CS:IP指向的指令) a命令:以汇编指令的格式在内存中写入机器指令 写入汇编指令:a 段地址:偏移地址,按下enter键后,输入汇编指令,当不想输入时直接按enter退出输入

说明 1.DEBUG接受和显示的数都是16进制数 2.命令都是一个字母,命令参数随命令而异 3.命令和参数可以用大写或小写字母或混合大写方式输入 4.命令和参数间,可以用定界符(空格、制表符,逗号等)。但是定界符只是两个相邻的16进制数之间是必需的。如下面的命令是等效的: DCS:100 110 D CS:100, 110 D, CS:100, 110 5.在提示符出现时,可键入DEBUG命令,只有在回车键后,命令才开始执行。 6.若DEBUG检查出一个命令错误,提示符为“^ Error” 7.在输入DEBUG命令时,可以用常用的编辑键 8.可以用Ctrl+Break键或Ctrl+C键来打断一个命令的执行,返回DEBUG提示符 9.若一个命令产生相当多的输出行时,为了能看清屏幕上的显示内容,可按Ctrl+S键,暂停显示

说明 参数说明 1.地址,地址参数有段值和偏移两部分组成。段值可以用一个段寄存器表示,也可以用4位16进制数表示,偏移用4位16进制数表示。 2.端口地址使用于输入输出命令,端口地址是一个两位16进制数 3.范围,用于指定内存区域(缓冲区),两种方式表示:一起时地址和结束地址。二起时地址和长度表示。长度必须L字母引导。范围最大为64K,即0~0FFFFH 4.数值,数值参数一般表示命令重复的次数,最多可以是4位16进制数。 5.字节值,字节值参数表示输出到端口的值,最多可以是2位16进制数。 6.字节值表参数表示要替换或查找的若干个以字节为单位的值。各值间由空格等间隔符分隔。字节值表可以含字符串,字符串必须用引号括起来。 7.驱动器号参数表示要读写扇区所在的驱动器。0代表A驱动器,1代表B驱动器,2代表C驱动器,3代表D驱动器。 8.扇区号表示DOS逻辑扇区号,最多可以是3位16进制数。

本节视频的课后练习 网上查阅16位汇编学习环境工具软件的使用教程,编程达人官网-资料下载版块下载安装环境,自己动手,熟练安装、使用,掌握其用法。 课后练习请务必完成后,再继续学习后面的课程。官网视频播放页面有参考答案。

0512-57882866 www.bcdaren.com 昆山爱达人 1250121864 昆山爱达人信息技术有限公司 视频录制:编程达人 视频提供 视频录制:编程达人 联系电话: 0512-57882866 官网地址: www.bcdaren.com 联系公众号: 昆山爱达人 联系QQ: 1250121864 编程达人APP: