王爽 之 汇编语言 第7章 实验6 的 7_9的解答

将datasg段中每个单词的前4个字母改为大写字母。

这道题前面有类似的题目的解答,还是比较简单的。

assume cs:codesg,ss:stacksg,ds:datasg                                         ↑
│stacksg segment                                                               █
│        dw 0,0,0,0,0,0,0,0                                                    █
│stacksg ends                                                                  █
│datasg segment                                                                █
│        db '1. display      '                                                 █
│        db '2. brows        '                                                 █
│        db '3. replace      '                                                 █
│        db '4. modify       '                                                 █
│datasg ends                                                                   █
│codesg segment                                                                █
│        start:mov ax,stacksg                                                  █
│              mov ss,ax                                                       █
│              mov ax,datasg                                                   █
│              mov ds,ax                                                       ░
│              mov sp,16                                                       ░
│              mov bx,0                                                        ░
│                                 
              mov cx,4                                                        ░
│              s0:push cx                                                      ░
│                 mov si,3                                                     ░
│                 mov cx,4                                                     █
│                        s:mov al,[bx+si]                                      █
│                          and al,11011111b                                    █
│                          mov [bx+si],al                                      █
│                          inc si                                              █
│                        loop s                                                █
│                 pop cx                                                       █
│                 add bx,16                                                    █
│              loop s0                                                         █
│              mov ax,4c00h                                                    █
│              int 21h                                                         █
│codesg ends                                                                   █
│end start                                                                     █
│                   

debug前

07E2:0000  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
07E2:0010  31 2E 20 64 69 73 70 6C-61 79 20 20 20 20 20 20   1. display
07E2:0020  32 2E 20 62 72 6F 77 73-20 20 20 20 20 20 20 20   2. brows
07E2:0030  33 2E 20 72 65 70 6C 61-63 65 20 20 20 20 20 20   3. replace
07E2:0040  34 2E 20 6D 6F 64 69 66-79 20 20 20 20 20 20 20   4. modify
07E2:0050  B8 E2 07 8E D0 B8 E3 07-8E D8 BC 10 00 BB 00 00   ................
07E2:0060  B9 04 00 51 BE 03 00 B9-04 00 8A 00 24 DF 88 00   ...Q........$...
07E2:0070  46 E2 F7 59 83 C3 10 E2-EA B8 00 4C CD 21 68 F0   F..Y.......L.!h.

debug后验证结果

07E3:0000  31 2E 20 44 49 53 50 6C-61 79 20 20 20 20 20 20   1. DISPlay
07E3:0010  32 2E 20 42 52 4F 57 73-20 20 20 20 20 20 20 20   2. BROWs
07E3:0020  33 2E 20 52 45 50 4C 61-63 65 20 20 20 20 20 20   3. REPLace
07E3:0030  34 2E 20 4D 4F 44 49 66-79 20 20 20 20 20 20 20   4. MODIfy 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值