汇编语言
安东尼-东方
软件开发
展开
-
汇编语言 实验10.1(王爽 第三版) 1.编写子程序-显示字符串
1.编写子程序-显示字符串 子程序描述 名称:show_str 功能:在指定的位置,用指定的颜色,显示一个用0结束的字符串。 参数:(dh)=行号(取值范围0~24),(dl)=列号(取值范围0~79), (cl)=颜色,ds:si指向字符串的首地址 返回:无 应用举例:在屏幕的8行3列,用绿色显示data段中的字符串。 提示 (1)子程序的入口参数是屏幕上的行号和列号,注意在子程序内部要将它们转...原创 2019-04-21 00:25:15 · 1798 阅读 · 0 评论 -
汇编语言 实验14拓展(王爽 第三版) 访问CMOS RAM(拓展)
实验14拓展 不是书上的 显示倒计时5.4.3.2.1.0 代码如下: assume cs:code data segment data ends code segment start: mov ax,0b800h mov es,ax mov di,160*12+30*2 ;设置显存地址 mov al,0h out 70h,al in al,71h ...原创 2019-05-05 19:05:22 · 266 阅读 · 1 评论 -
汇编语言 实验14(王爽 第三版) 访问CMOS RAM
实验14 访问CMOS RAM 编程,以“年/月/日 时:分:秒”的格式,显示当前的日期、时间。 assume cs:code data segment data ends code segment s1: start: mov al,9h mov ah,0 mov cx,6 mov bx,0b800h mov es,bx mov si,160*12+...原创 2019-05-05 19:01:04 · 465 阅读 · 0 评论 -
汇编语言 实验12(王爽 第三版) 编写0号中断的处理程序
编写0号中断的处理程序,使得在除法溢出发生时,在屏幕中间显示字符串"divide error!",然后返回到DOS。 程序如下: assume cs:code data segment data ends code segment start: mov ax,code mov ds,ax mov si,offset do0 ;设置源地址 mov ax,0 mov e...原创 2019-04-29 20:14:47 · 321 阅读 · 0 评论 -
汇编语言 实验11(王爽 第三版) 编写子程序-letterc 小写字母转变成大写字母
实验11 编写子程序-letterc 小写字母转变成大写字母 编写一个子程序,将包含任意字符,以0结尾的字符串中的小写字母转变成大写字母,描述如下。 名称:letterc 功能:将以0结尾的字符串中的小写字母转变成大写字母 “Beginner’s All-purpose Symbolic Instruction Code.” 参数:ds:si指向字符串首地址 assume cs:code da...原创 2019-04-29 20:10:54 · 2103 阅读 · 0 评论 -
汇编语言 课程设计1(王爽 第三版)
课程设计1 将实验7(见原书)中Power idea 公司的数据按照如下格式在屏幕上显示出来。 提示:因为程序要显示的数据有些己经大于65535,应该编写一个新的数据到字符串的转化子程序,完成dword型数据到字符串的转化。说明如下: 名称:dtoc 功能:将dword型数据转变为表示十进制的字符串,字符串以0为结尾符。 参数:(ax)=dword型数据的低16位 (dx)=dword型数据的高...原创 2019-04-24 20:05:38 · 3777 阅读 · 1 评论 -
汇编语言 实验13(王爽 第三版) 编写应用中断例程(2)
实验13(1):https://blog.csdn.net/qq_41700629/article/details/89791836 实验13(2) 编写并安装int 7ch中断例程,功能为完成loop指令的功能。 参数:(cx)=循环次数,(bx)=位移。 以上中断例程安装好后,对下面的程序进行单步跟踪,尤其注意int,iret指令执行前后cs,ip的和栈中的状态。 在屏幕中间显示80个“!...原创 2019-05-03 22:01:20 · 289 阅读 · 0 评论 -
汇编语言 实验13(王爽 第三版) 编写应用中断例程(1)
实验13(1) 实验内容: 编写并安装int 7ch中断例程,功能为显示一个用0结尾的字符串,中断例程安装在0:200处。 参数: (dh)=行号, (dl)=列号, (cl)=颜色 ds:si指向字符串首地址 以上中断例程安装好后,对下面的程序进行单步跟踪,尤其注意int,iret指令执行前后cs,ip的和栈中的状态。 assume cs:code data segment...原创 2019-05-03 21:46:37 · 497 阅读 · 0 评论 -
汇编语言 实验9(王爽 第三版) 根据材料编程
实验9 根据材料编程 编程:在屏幕中间分别显示绿色、绿底红色、白底蓝色的字符串’welcome to masm!’。 编程所需的只是通过阅读、分析下面的材料获得。(材料见书上,介绍了显存地址,颜色设置等) 程序如下: assume cs:code,ds:data data segment db 'welcome to masm!' db 00000010b,00100100b,01110...原创 2019-04-17 21:51:33 · 657 阅读 · 0 评论 -
汇编语言 实验8(王爽 第三版) 分析一个奇怪的程序
实验8 分析一个奇怪的程序 分析下面的程序,在运行前思考,这个程序可以正确返回吗? 运行后再思考:为什么是这种结果? 通过这个程序加深对相关内容的理解。 assume cs:codesg codesg segment mov ax, 4c00h int 21h start: mov ax, 0 s: nop nop mov di, offse...原创 2019-04-17 21:48:02 · 425 阅读 · 1 评论 -
汇编语言 实验10.3(王爽 第三版) 3.编写子程序-数值显示
3.编写子程序-数值显示 把123,12666,1,8,3,38以十进制的形式显示在屏幕的八行三列,用绿色显示出来,可调用第一个子程序show_str 程序如下: assume cs:code data segment dw 123,12666,1,8,3,38 data ends stack segment dw 21 dup(0) stack ends code segment s...原创 2019-04-22 10:49:04 · 882 阅读 · 0 评论 -
汇编语言 实验7(王爽 第三版) 寻址方式在结构化数据访问中的应用
寻址方式在结构化数据访问中的应用 下面的程序中,已经定义好了这些数据: assume cs:codesg data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','199...原创 2019-04-13 21:05:24 · 483 阅读 · 0 评论 -
汇编语言 易错习题||第八章
答案:C 解析: dd 0abcdefh,1234h 首先第一个数据的0本不存在,只是因为后面都是字母,所以前面加个0. 其次它在内存中的存放:原创 2019-04-13 17:06:22 · 241 阅读 · 0 评论 -
汇编语言 实验10.2(王爽 第三版) 2.编写子程序-解决除法溢出的问题
2.编写子程序-解决除法溢出的问题 子程序描述 名称:divdw 功能:进行不会产生溢出的除法运算,被除数为dword型,除数为word型,结果为dword型。 参数:(ax)=dword型数据的低16位 (dx)=dword型数据的高16位 (cx)=除数 返回:(dx)=结果的高16位,(ax)=结果的低16位 (cx)=余数 应用举例:计算1000000/10(FA240H/0AH) 提示 ...原创 2019-04-21 00:27:44 · 672 阅读 · 1 评论 -
汇编语言 实验15(王爽 第三版) 安装新的int 9中断例程
实验15:安装新的int 9中断例程 功能: 在DOS下,按下“A”键后,除非不再松开,如果松开,就显示满屏幕的“A”,其他的按键照常处理。 提示: “A”的通码为1EH,断码为9EH。 代码如下: assume cs:code stack segment db 128 dup(0) stack ends code segment start: mov ax,stack mov ss,...原创 2019-05-10 20:54:03 · 235 阅读 · 0 评论