汇编语言(王爽)实验

实验10

 1 ;name: show_str
 2 ;func: 在指定的位置,用指定的颜色,显示一个用‘0‘结束的字符串
 3 ;argc: (dh)=行号(取值范围0~24), (dl)=列号(取值范围0~79)
 4 ;      (cl)=颜色, ds:si指向字符串的首地址
 5 ;return: None
 6 assume cs:code
 7 data segment
 8     db ‘Welcome to masm!‘, 0, ‘x‘
 9 data ends
10
11 code segment
12 start:  mov dh, 8
13         mov dl, 3
14         mov cl, 2
15         mov ax,data
16         mov ds,ax
17         mov si, 0
18         call show_str
19
20         mov ax, 4c00h
21         int 21h
22
23 show_str:
24         push ax
25         push bx
26         push es
27         push cx
28         push dx
29         push si
30
31         mov ax, 0b800h
32         mov es, ax
33
34         mov bx, 0
35         mov al, 160
36         mul dh
37         add bx, ax
38         mov al, 2
39         mul dl
40         add bx, ax ;print start position
41
42 print:
43         mov cl, 0 ;judge end
44         mov ch, ds:[si]
45         jcxz return
46
47         mov al, [si] ;character
48         mov ah, 02h  ;(color) BL RGB I RGB
49         mov es:[bx], ax
50         add bx, 2
51         inc si
52
53         jmp short print
54
55 return:
56         pop si
57         pop dx
58         pop cx
59         pop es
60         pop bx
61         pop ax
62
63         ret
64
65 code ends
66 end start

原文地址:https://www.cnblogs.com/coodyz/p/11749834.html

时间: 2024-10-22 23:02:07

汇编语言(王爽)实验的相关文章

汇编语言王爽 实验10-3 数值显示

1 assume cs:code 2 data segment 3 db 10 dup(0) 4 data ends 5 6 code segment 7 start: 8 mov ax,12666 9 mov bx,data 10 mov ds,bx 11 mov si,0 12 call dtoc 13 14 mov dh,8 15 mov dl,3 16 mov cl,2 17 call show_str 18 19 mov ax,4c00h 20 int 21h 21 22 dtoc:

汇编语言王爽 实验11

assume cs:codesg datasg segment db "Beginner's All-purpose Symbolic Instruction Code.",0 datasg ends codesg segment begin: mov ax,datasg mov ds,ax mov si,0 call letterc mov ax,4c00h int 21h letterc: push cx mov ch,0 s0: mov cl,[si] jcxz ok cmp c

汇编语言 王爽 实验七

assume cs:codesg data segment db '1975','1976','1977','1978','1979','1980','1981','1982','1983' db '1984','1985','1986','1987','1988','1989','1990','1991','1992' db '1993','1994','1995' dd 16,22,382,1356,2390,8000,16000,24486,50065,97479,1340417,1975

汇编语言 王爽

汇编语言 王爽 目录 汇编语言... 1 王爽... 1 第一章:基础知识 第二章:寄存器 第三章 寄存器(内存访问) 第四章 第一个程序 第六章  包含多个段的程序 第七章 更灵活定位内存的方法 第八章 数据处理的两个基本问题 第一章:基础知识 汇编语言:汇编语言是什么?为什么学习汇编语言?学习汇编语言是学习什么? 早起使用机器语言,但机器语言 晦涩难懂也难以使用,所以出现了汇编语言.即用通熟易懂的汇编指令替代全是二进制0和1的机器指令. 于是也就出现了编译器,即把汇编指令翻译成机器指令. 机

汇编语言 王爽第二版 总结

汇编语言 王爽第二版 总结,所以内容都是8086的 summary asssembly ,汇编总结 why: 最初始的编程语言就是使用打孔机,打出来的0 1 代码,然后把卡片插入到电脑中运行然后 看输出结果,这种纯01的二进制代码,编写困难调试困难运行结果的显示看着也很蛋疼,就像 一个简单的"hello world",11个字符,需要11×8个二进制,并且再进行输出,就更麻烦,因为 全部都是二进制,代码.为了更高效的开发程序,就出现了汇编语言,用来代替二进制代码的输入. what: 汇

汇编语言(王爽)pdf

下载地址:网盘下载 <汇编语言(第2版)>是各种CPU提供的机器指令的助记符的集合,人们可以用汇编语言直接控制硬件系统进行工作.汇编语言是很多相关课程(如数据结构.操作系统.微机原理等)的重要基础.为了更好地引导.帮助读者学习汇编语言,作者以循序渐进的思想精心创作了<汇编语言(第2版)>.<汇编语言(第2版)>具有如下特点:采用了全新的结构对课程的内容进行组织,对知识进行最小化分割,为读者构造了循序渐进的学习线索:在深入本质的层面上对汇编语言进行讲解:对关键环节进行深入

汇编语言(王爽 第三版)实验十六

与原实验稍有不同,实现的功能为按下1键清屏 按下2键设置前景色为蓝色 按下3键设置背景色为白色 按下4键向上滚动一行 assume cs:code stack segment db 128 dup (0) stack ends code segment start: mov ax,stack mov ss,ax mov sp,128 mov ax,cs mov ds,ax mov ax,0 mov es,ax mov di,204h mov si,offset int9 mov cx,offse

汇编语言(王爽 第三版)实验十五

assume cs:code stack segment db 128 dup (0) stack ends code segment start: mov ax,stack mov ss,ax mov sp,128 push cs pop ds mov ax,0 mov es,ax mov si,offset int9 mov di,204h mov cx,offset int9end-offset int9 cld rep movsb push es:[9*4] pop es:[200h]

汇编语言(王爽 第三版)实验十二

assume cs:code code segment start: mov ax,cs mov ds,ax mov si,offset do0 mov ax,0 mov es,ax mov di,200h mov cx,offset do0end-offset do0 cld rep movsb mov ax,0 mov es,ax mov word ptr es:[0*4],200h mov word ptr es:[0*4+2],0 mov ax,4c00h int 21h do0: jm

汇编语言(王爽 第三版)实验十四

assume cs:code code segment s1: db 9,8,7,4,2,0 s2: db 'yy/mm/dd hh:mm:ss','$' start: mov ax,cs mov ds,ax mov si,offset s1 mov di,offset s2 mov cx,6 s: push cx mov al,ds:[si] out 70h,al in al,71h mov ah,al mov cl,4 shr ah,cl and al,00001111b add ah,30