铛铛 发表于 2017-8-7 15:26:01

实验6答案


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,datasg
       mov ds,ax          ;设置数据段地址
          
       mov ax,stacksg
       mov ss,ax
       mov sp,0010h         ;设置栈段地址,留以暂存用
          
       mov bx,0   
       mov cx,4         ;共4个字符串,外循环4次
                   
          
    a: push cx            ;暂存cx
       mov di,0         ;初始化递增偏移
       mov cx,4         ;共转换4个字符,内循环4次
          
    b: mov al,      ;取出
       and al,11011111b   ;转换
       mov ,al      ;放回
       inc di             ;递增偏移
       loop b            
          
       add bx,0010h         ;换下一组字符串
       pop cx             ;取出暂存cx
       loop a

codesg ends
end start


====================================================
对应的 ASCII 码:

程序运行             程序结束后
64 69 73 70      44 49 53 50
62 72 6f 77         42 52 4f 57
72 65 70 6c      52 45 50 4c
6d 6f 64 69         4d 4f 44 49

已测试成功。

如果有更好的办法请指教!
页: [1]
查看完整版本: 实验6答案