摘要:
实验任务一 要求:补全程序 t1.asm,完成在屏幕上输出内存单元中的十进制两位数。 补充好的代码为: 运行结果: 小结: 此题要求输出一个十进制两位数,以目前所学知识还不能一次性打印2个甚至多个字符,只能一个一个的分别获取该数字的个位和十位,然后依据ASCLL码转换为对应的字符进行输出。而关键就在 阅读全文
摘要:
实验任务一 将下面的程序编译、链接,用debug加载、跟踪,然后回答问题。 ①CPU执行程序,程序返回前,data段中的数据是多少? ②CPU执行程序,程序返回前,CS=____,SS=____,DS=____。 ③设程序加载后,code段的段地址为X,则data段的段地址为____,stack段的 阅读全文
摘要:
实验任务一 综合使用 loop,[bx],编写完整汇编程序,实现向内存 b800:07b8 开始的连续 16 个字单元重复填充字数据 0403H 实现: 1.编写源码文件:test1.asm 注意点:在汇编程序中,数据不能以字母开头。b800前要加上0。 2.编译、链接 批处理文件:process. 阅读全文
摘要:
实验任务一:将下面的程序保存为t1.asm文件,将其生成可执行文件t1.exe。 用记事本编辑代码,保存为t1.asm: 编译、连接,生成可执行文件: 运行程序: 得到输出结果为06 下面研究修改line4和line9中寄存器dl的值,对结果产生的影响。 为简化编译、连接的过程,决定采用批处理文件的 阅读全文
摘要:
实验任务一:使用debug将下面的程序写入内存,逐条执行,根据指令执行后的实际运行情况填空。 前提说明:为便于验证实验结果,对实验任务一做了2点调整: ①在使用a命令输入指令调试前,使用e命令将内存单元0021:0~0021:7连续8个字节数据修改为30H,31H,32H,33H,34H,35H,3 阅读全文
摘要:
一、段寄存器DS 在上章中,我们熟悉了通用寄存器和CS、IP寄存器,知道通用寄存器AX,BX,CX,DX是用来存放一般性数据的,而CS:IP是指示CPU当前所要读取指令的地址的。这一章中,将了解段寄存器DS的使用。DS的全称是Data Segment,意为数据寄存器。那它有什么作用呢?CPU在读写一 阅读全文
摘要:
概要 此文是对《汇编语言》第二章《寄存器》的知识梳理。主要内容如下: 目录 寄存器概览 通用寄存器 字在寄存器中的存储 几条汇编指令 物理地址 CS和IP jmp指令 寄存器概览 对于一个汇编程序员来说,CPU中的主要部件是寄存器。寄存器是CPU中程序员可以用指令读写的部件。程序员通过改变各种寄存器 阅读全文
摘要:
概要 此次实验为汇编语言的第一次实验,难度不大,但是却是以后所有实验的基础,尤其是debug工具的使用,因此会花较大篇幅总结一下此次实验中涉及的debug用法,剩余部分会根据具体实验任务总结一下CPU、寄存器、内存的基础知识以及mov、add、jmp等指令的用法。 目录 debug的使用 查看和改变 阅读全文
摘要:
简要说明 本人当前为一名大二学生,网络工程专业。本学期选修了《汇编语言》这门课程,作为一项作业任务,同时也是为了梳理所学知识,更好地理解和掌握汇编语言撰写了这篇博客。我所用的教材是由清华大学出版社出版的《汇编语言》第3版(图片如下),以下的内容来自于但不限于教材以及老师的课件。 转载请注明出处:ht 阅读全文