王爽 汇编 问题7.9:将datasg段中前4个字母改为大写字母

一、代码实现

 1 ;目的:将datasg段中前4个字母改为大写字母
 2 ;编写:Tony
 3 ;语言:asm
 4 ;时间:2020.3.24
 5 
 6 assume cs:code,ds:data,ss:stack
 7 
 8 stack segment
 9   dw 0,0,0,0,0,0,0,0
10 stack ends
11 
12 data segment
13   db '1. display '
14   db '2. brows '
15   db '3. replace '
16   db '4. modify '
17 data ends
18 
19 
20 code segment
21 start:       mov ax,stack
22     mov ss,ax
23     mov sp,10h
24 
25     mov ax,data
26     mov ds,ax
27 
28     mov bx,0         ;定义行
29     mov si,0    
30     mov cx,4
31 
32 s0:    push cx          ;把数据推进栈,保存cx的数据
33 
34     mov si,0         ;定义列
35     mov cx,4
36 s1:  mov al,[bx+si+3]
37     and al,11011111b   ;改写字母为大写
38     mov [bx+si+3],al
39     inc si
40     loop s1    
41 
42     add bx,10h
43     pop cx         ;出栈恢复cx的数据
44     loop s0        ;循环到s0,cx=cx-1
45 
46     mov ax,4c00h
47     int 21h
48 
49 code ends
50 end start 

 


 

二、上机调试

待续

posted @ 2020-03-24 14:39  Tony.Jia  阅读(545)  评论(0编辑  收藏  举报