天天看點

3、王爽《彙編語言》筆記_實驗6

将每個段的前四個字母變為大寫

assume cs:codesg,ds:datasg,ss:stacksg

datasg segment

    db '1. display      '	; 長度均為0Ah

    db '2. brows        '

    db '3. replace      '

    db '4. modify       '

datasg ends

stacksg segment

    dw 0,0,0,0,0,0,0,0		;堆棧

stacksg ends

codesg segment

start: mov ax,datasg		; 資料段初始化

       mov ds,ax

       mov bx,0

       mov ax,stacksg		; 堆棧段初始化

       mov ss,ax

       mov sp,16

       mov cx,4			; 行數

   s0: push cx			; 外層循環,更改一行

       mov si,0

       mov cx,4

    s: mov al,[bx+3][si]	; 内層循環,更改每行

       and al,11011111b		; 更改為大寫字母

       mov [bx+3][si],al

       inc si

       loop s			; 内層循環結束

       add bx,16		; 下一行偏移

       pop cx

       loop s0			; 外層循環結束

       mov ax,4c00h

       int 21h

codesg ends

end start