王爽汇编第三版实验10

1. 显示字符串

 1 assume cs:code
 2
 3 data segment
 4     db ‘Welcome to masm!‘,0
 5 data ends
 6
 7 stack segment
 8     db 16 dup (0)
 9 stack ends
10
11 code segment
12     start:
13         mov dh,8
14         mov dl,3
15         mov cl,2
16         mov ax,data
17         mov ds,ax
18         mov si,0
19         call show_str
20
21     ;一直循环
22     all:
23         jmp short all
24
25         mov ax,4c00h
26         int 21h
27
28     show_str:
29         mov bl,1
30         mov al,dh
31         sub al,bl
32         ;(n行-1)*160=n行开头的偏移地址
33         mov bl,160
34         mul bl
35         mov bx,0b800h
36         mov es,bx ;显存的段地址放在es
37         mov bx,ax  ;行
38         mov dh,0
39         ; (n列-1)*2=当前列的偏移地址
40         mov di,dx
41         sub di,1
42         add di,di
43         ;颜色设置
44         mov ch,0
45         mov dx,cx
46     s:
47         mov cl,[si]
48         mov ch,0
49         jcxz ok
50         mov ax,[si]
51         mov es:[bx+di],ax
52         mov es:[bx+di+1],dx
53         ;一个字母占两个字节,一个ascii
54         add di,2
55         inc si
56         loop s
57
58     ok:
59         ret
60
61 code ends
62 end start

  图片显示:

原文地址:https://www.cnblogs.com/Triomphe/p/8545461.html

时间: 2024-10-15 10:31:33

王爽汇编第三版实验10的相关文章

王爽汇编第三版检测点10.5

(1)下面的程序执行后,ax 中的数值是多少? 1 assume cs:code 2 stack segment 3 dw 8 dup (0) 4 stack ends 5 code segment 6 start: mov ax,stack 7 mov ss,ax 8 mov sp,16 9 mov ds,ax 10 mov ax,0 11 call word ptr ds:[0] 12 inc ax 13 inc ax 14 inc ax 15 mov ax,4c00h 16 int 21h

【汇编语言】(王爽著第三版)实验二

实验二 实验任务(一) 实验前要求我们将书本P74的程序段按理论分析,将结果进行填空.之后用Debug,将该程序段写入内存,逐条执行之后, 根据指令执行后的实际运行的结果填空如下. mov ax,0021 mov  ax , ffff mov  ds , ax mov  ax , 2200 mov  ss , ax mov  sp , 0100 mov  ax , [0]                       ;ax=3130 add  ax , [2]                 

王爽汇编语言第三版第5章实验4

第(3)小题 下面的程序的功能是将“mov ax,4c00h”之前的指令复制到内存0:200处,补全程序.上机调试,跟踪运行结果. assume cs:code code segment mov ax,     cs       ;cs为程序入口的段地址,我们就是要从这里开始复制 mov ds,ax mov ax,0020h mov es,ax mov bx,0 mov cx,     cx        ;程序刚加载完成时,cx存放的是程序的大小,这里我不确定答案,我试过后看到mov ax,4

王爽汇编实验(三)

王爽汇编浅显易懂,虽然前面两个实验都做完了,但是都是吊儿郎当做完的. 看到第三次实验比较好写心得,就写了. 原码如下,用提到的LINK.EXE和MASM.EXE进行编译链接操作. assume cs:codesgcodesg segmentmov ax,2000Hmov ss,axmov sp,0add sp,10pop axpop bxpush axpush bxpop axpop bx mov ax,4c00Hint 21Hcodesg endsend 首先是用debug 跟踪t1.exe执

王爽汇编实验九

1 ;实验九 2 assume cs:code,ds:data 3 data segment 4 db 'welcome to masm!' 5 data ends 6 7 code segment 8 start : 9 mov ax,data 10 mov ds,ax;定义数据段 11 12 mov ax,0B800h 13 mov es,ax;定义显示段 14 15 mov cx,16 16 mov si,0 17 mov di,10*160+80 ;将输出显示放在第10行中间 18 19

王爽汇编10.12

;10.12 assume cs:code,ds:data data segment db 'word',0 db 'unix',0 db 'wind',0 db 'good',0 data ends code segment start : mov ax,data mov ds,ax mov si,0 mov di,16 mov cx,4 s: call cap inc si loop s MOV AX,4C00H INT 21H cap: push cx tip: mov cl,[si] m

王爽汇编实验十一

;实验11 ;把小写字母换成大写字母 assume cs:code , ds:data data segment db "Beginner's All-purpose Symbolic Instruction Code.",0 data ends code segment start: mov ax,data mov ds,ax mov si,0 call letterc mov ax,4c00h int 21h letterc: push ax push si fun: mov al

王爽《汇编语言》(第三版)实验8解析(超详细)

题目 分析程序,在运行前思考:这个程序是否能够正确返回? 运行之后再思考:为什么是这种结果? 通过这个程序加深对相关内容的理解. 贴入代码如下: assueme cs:codesg codesg segment mov ax,4c00h int 21h start: mov ax,0 s: nop nop mov di,offset s mov si,offset s2 mov ax,cs:[si] mov cs:[di],ax s0: jmp short s s1: mov ax,0 int

王爽 汇编 检测点10.4

一.要求 二.上机调试 1.debug调试开始,首先查看反编译后的汇编代码(假设ob38就是段地址1000) 2.执行第一条指令mov ax,6 3.执行第二条指令call ax,也就是call 6(我们知道,对于call 16位reg格式来说,相当于push ip:jmp 16位reg.) 执行了call ax,会将它的下一条指令的压入栈中也就是5压入栈中,软后跳转到ip=6的地方 此时ip=6 ,sp=fffe,查看栈中的数据 4.执行mov bp,sp,栈顶地址赋值给bp寄存器 5.执行a