【8086汇编-Day5】第三次实验
练习一
结果展示:

这个程序执行下来貌似打印了数字36,但其实是两个数字3、6;

这段就是用来打印3;首先ah里放2,跟后面的int 21h结合起来就是调用21号中断例程的2号子程序,用来打印到标准输出。mov dl,3可以理解,我们是想打印数字3,可是事实上并没有那么简单,我们打印字符其实需要的是字符3的ACSII码值即51d 即33h所以在3的基础上add 30h。那么打印6同理。如何让输出与输出有换行呢?
mov ah,
mov dl,0ah
int 21h

既然我已经分析的如此清晰了,那我就不改动line 4,line 9了,实际上道理就是这样的,数字本身跟他的十六进制ASCII值形式上刚好差30h,所以add一行不用换,想打印什么数字直接改mov dl的就好了。
过程:
查看cx(在这里cx用来表示机器码占用的字节数)可以自己数下反汇编出来的机器码长度



单步调试,最后调用中断例程退出程序

练习二
过程:

改变line7 line 10数据,观察现象

其实讲到这里就够了,这个汇编程序其实就是在想现存写入数据,哪还记得上一次实验中向显存写入数据实现多种多样的显示么?这里的字符样式、颜色、前景、背景涉及到那些比特位,我在上一篇实验博客里做过补充,在此不再赘述,有兴趣可以参考我上一篇博文,在这里做不同实现。
!!!
dosbox下这一点确实有点坑,操作数搭配结构不合法的时候,不影响程序执行,在老师指导下在m4w环境下做了实验,意识到错误,如下


修改后则正常了,如下

【8086汇编-Day5】第三次实验的更多相关文章
- 【8086汇编-Day5】第二次实验
debug的使用 偷个懒,之前写过了这里不再赘述 实验 1)实验1 要求:用e将一些数据写入内存,用a写入一段程序,t 逐条执行 观察具体参数变化,并探究现象 1.e写入,d检查 2.a写入程序 3. ...
- 8086汇编语言学习(二) 8086汇编开发环境搭建和Debug模式介绍
1. 8086汇编开发环境搭建 在上篇博客中简单的介绍了8086汇编语言.工欲善其事,必先利其器,在8086汇编语言正式开始学习之前,先介绍一下如何搭建8086汇编的开发环境. 汇编语言设计之初是用于 ...
- 20135302魏静静——linux课程第三周实验及总结
linux课程第三周实验及总结 一.实验:跟踪分析Linux内核的启动过程 使用gdb跟踪调试内核从start_kernel到init进程启动 使用实验楼的虚拟机打开shell cd LinuxKer ...
- 8086汇编——Introduction(8086内部寄存器,段寄存器,存储器分段)
8086汇编--Introduction 一.8086CPU的三种工作模式 实模式:只有低20位地址线起作用,仅能寻址第一个1MB的内存空间.MS DOS运行于该模式下. 保护模式:在该模式下,机器可 ...
- 20145224&20145238 《信息安全系统设计基础》 第三次实验
20145224&20145238 <信息安全系统设计基础>第三次实验 课程:信息安全系统设计基础 班级:1452 姓名:陈颢文 荆玉茗 学号:20145224 20145238 ...
- 20145330Java程序设计第三次实验
20145330<Java程序设计>第三次实验报告 实验三 敏捷开发与XP实践 实验内容 1.使用git上传代码 2.使用git实现代码开发实践 3.实现代码的重载 实验步骤 使用git上 ...
- 20145320《Java程序设计》第三次实验报告
20145320<Java程序设计>第三次实验报告 北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1453 指导教师:娄嘉鹏 实验日期:2016.04.22 15: ...
- Linux第三次实验报告
北京电子科技学院(BESTI) 实 验 报 告 课程:信息安全系统设计基础 班级:201352 姓名:池彬宁 贺邦 学号:20135212 2013520 ...
- 南京邮电大学java第三次实验报告
实 验 报 告 ( 2017 / 2018学年 第2学期) 课程名称 JAVA语言程序设计 实验名称 Java集成开发环境的安装与使用. Java变量.表达式与控制结构 实验时间 2018 年 4 月 ...
随机推荐
- PLSQL使用绑定变量
想对一个sql做10046trace,结果因为10g数据库无法对sql_id做,只能使用绑定变量的方法,下面sql是如何使用绑定变量运行sql的语句 declare v_sql VARCHAR2( ...
- Oracle RAC和SCAN同时对外提供服务的配制方法
1, tnsnames.ora on two nodes:RACTEST = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = racsca ...
- January 20 2017 Week 3 Friday
I am a slow walker, but I never walk backwards. 我走得很慢,但我从来不会后退. In the past years, I walked very slo ...
- python数据结构(整理)
http://www.cnblogs.com/yupeng/p/3413763.html 1. 单链表 链表的定义: 链表(linked list)是由一组被称为结点的数据元素组成的数据结构,每个结点 ...
- 【转载】CodeIgniter与PHP5.6的兼容问题
错误提示: A PHP Error was encountered Severity: Notice Message: Only variable references should be retur ...
- C#图解教程读书笔记(第9章 语句)
文件头的Using是Using指令,不是using语句 using (TextWriter tw = File.CreateText("xixi.txt")) { tw.Write ...
- 当当网-前端project师測试题
前端project师測试题(笔试时间20分钟.面试时间20分钟) 一.笔试 1.基础问题 (1)前端页面有哪三层构成,各自是什么? ...
- Yii 验证和消息
setFlash(), getFlash()可以完成验证成功后提示 <?php # 成功信息提示 Yii::app()->user->setFlash('success', &quo ...
- PHP不定维数组去除空值
最近遇到一个问题,是将不定维数组的空值去除,回来研究了一下,写出来了,不知道是否还能优化 写的不好的,如果有好的想法或者好的实现方法,欢迎提出来,如果哪里写错了,也欢迎大牛可以讲解一下 代码如下,欢迎 ...
- HDU 2588 GCD 【Euler + 暴力技巧】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=2588 GCD Time Limit: 2000/1000 MS (Java/Others) Mem ...