随笔分类 - 汇编语言
摘要:# 实验十六 ## 题目: 本次实验任务: 安装一个新的int 7CH 中断例程,为显示输出提供如下功能子程序。 (1)清屏; (2)设置前景色; (3)设置后景色; (4)向上滚动一行。 入口参数说明如下。 (1)用ah寄存器传递功能号:0表示清屏,1表示设置前景色,2表示设置背景色,3表示向上滚
阅读全文
摘要:# 实验15 # 题目 安装一个新的 int 9 中断例程,在DOS下,按下’A’键后,除非不再松开,如果松开,就会显示满屏幕的’A’,其他键的功能照常。 代码: ```assembly assume cs:code code segment start: push cs pop ds mov ax
阅读全文
摘要:# 实验13 ## 第一问: 1. 问题: 编写程序并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。 参数:(dh)=行号,(dl)=列号,(cl)=颜色,ds:si指向字符串首地址。 以上中断例程安装完成后,对下面的程序进行单步跟踪,尤其注意观察int、i
阅读全文
摘要:# 实验十二 编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串"divide error!" 中断处理程序 ```assembly assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset do0; 设
阅读全文
摘要:# 实验11 编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下。 名称:letterc 功能:将以0结尾的字符串中的小写字母转变成大写字母 参数:ds:si指向字符串首地址 应用举例: ```assemblyassume cs:codesg datasg segm
阅读全文
摘要:# 课设一 实验任务:将 [实验7 寻址方式在结构化数据访问中的应用](https://blog.csdn.net/Dr_Cheeze/article/details/127444922?spm=1001.2014.3001.5502) 中提供的公司数据,呈现在屏幕上,效果如下。  | 雇员(人) | **人均收入(千美元)** | | :--: | : : | : : | : : | | 1975 | 16 | 3 | ? | | 1976 | 22
阅读全文
摘要:# 第七章 更灵活地定位内存地址 本章主要讲解一些更灵活的定位内存地址的方法和相关的编程方法 1. and 和 or 指令 1. and 指令 * 如:mov al,01100011B and al,00111011B 执行后: al=00100011B * 通过and指令**可将操作对象的相应位设
阅读全文
摘要:# 实验5 1. 将下面的程序编译、连接,用Debug加载、跟踪,然后回答问题。 ```assembly assume cs:code,ds:data,ss:stack data segment dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h d
阅读全文
摘要:# 6.3 将数据,代码,栈放入不同的段 1. 注意, 当数据,代码,栈需要的空间超过64kb时(偏移地址的范围),就不能放在一个段内,这是**8086模式的限制** 2. 示例程序如下: ```assembly assume cs:code, ds:data, ss:stack data segm
阅读全文
摘要:# 检测点 6.1 ## 1. 在代码中使用栈 (1)我们首先要有一段可当作栈的内存空间。如前所述,这段空间应该由系统来分配。我们可以在程序中**通过定义数据来取得一段空间**,然后将这段空间当作栈空间来用。 (2)栈:记住以下三点应该差不多了 1. 任意时刻 ss:sp 指向栈顶 2. 当栈为空时
阅读全文
摘要:# 实验4 【bx】和 loop 的使用 ## 第一问 1. 编程,向内存0:200~0:23F依次传送数据0~63(3FH),程序中只能使用9条指令,9条指令中包括“mov ax,4c00h”和"int 21h"。 ```assembly assume cs:code code segment m
阅读全文

浙公网安备 33010602011771号