王爽組合語言實驗11

2021-10-05 10:10:19 字數 991 閱讀 7031

實驗11

第一次發表文章,試一試

assume cs:code

data segment

db "beginner's all-purpose symbolic instruction code.",0

data ends

stack segment

db 16 dup (0)

stack ends

code segment

start: mov ax,data

mov ds,ax

mov si,0 ;data位址

mov ax,stack

mov ss,ax

mov sp,16

mov ax,0

call letterc ;大小寫轉換

mov ax, 4c00h

int 21h

;名稱:letterc

;功能:將以0結尾的字串中的小寫字母轉變為大寫字母

letterc: ;保護現場

push ax

push bx

push cx

push dx

;符合範圍轉換,小寫範圍為:97~122

s: mov cx,[si]

jcxz ok

mov al,[si]

cmp al,97 ;低於97轉next

jb s0

cmp al,122 ;高於122轉next

ja s0

and al,11011111b

mov ds:[si],al ;轉換成功的字元儲存

jmp short s0

s0: inc si ;下乙個

jmp short s

ok: pop dx

pop cx

pop bx

pop ax

ret

code ends

end start

《組合語言》 王爽 實驗11

題 編寫乙個子程式,將包含任意字元,以0結尾的字串中的小寫字母轉變成大寫字母,描述如下。名稱 letterc 功能 將以0結尾的字串中的小寫字母轉變成大寫字母。引數 ds si指向字串首位址。如題,任意字元,就得考慮一些其他字元,這就需要劃分乙個範圍,就是取出的字元應該在小寫字母的ascii碼範圍內...

王爽 組合語言 實驗10 1

assume cs code,ds data data segment db welcome to masm 0 data ends code segment start mov dh,8 行號 mov dl,3 列號 mov cl,2 顏色 mov ax,data mov ds,ax mov si...

王爽 組合語言 實驗7

assume cs codesg,ds data ss stack data segment db 1975 1976 1977 1978 1979 1980 1981 1982 db 1983 1984 1985 1986 1987 1988 1989 1990 db 1991 1992 1993...