利用中斷程式將小寫字母轉換為大寫字母

2021-08-20 02:38:16 字數 1218 閱讀 9037

下面需要去轉換的資料是將conversation轉換為大寫

assume cs:code,ss:stack,ds:data

data segment

db 'conversation',0

data ends

stack segment

db 96 dub(0)

stack ends

code segment

start:mov ax,cs

mov ds,ax ;將要指向中斷處理程式

mov si,a

mov cx,offset d - offset

a ;設定cx暫存器的值給下面的rep指令使用

mov ax,stack

mov ss,ax ;設定棧段

mov sp,96

mov ax,0

mov es,ax

mov di,200h ;移動di為200h

cldrep movsb ;rep指令根據cxd額值去重複執行後面的串傳送指令

mov word ptr es:[7ch*4],200h ;設定中斷向量表當中的中斷程式的位址

mov word ptr es:[7ch*4+2],0

mov ax,data ;這裡就是要將小寫字母轉換為大寫字母,所以設定資料段

mov ds,ax

mov si,0

int 7ch

mov ax,4c00h

int 21h

a: push cx ;保護暫存器的值

push si

b: mov cl,[si] ;這裡主要是要去判斷是否為最後乙個字元了

mov ch,0

jcxz c

andbyte ptr [si],11011111b ;做大小寫轉換

inc si ;指向下乙個資料

彙編利用cmp指令將小寫字母轉換為大寫字母

這裡主要是先和0進行比較,如果cx為0了,那麼就直接利用jcxz指令直接跳轉到ret助理,然後再利用cmp指令去進行和小寫a的ascii碼進行比較,比較之後如果是小於就直接再去尋找下乙個字元,程式如下所示 assume cs codesg,ds datasg datasg segment db be...

轉換大小寫字母 0330

思路分析 首先用getchar 函式獲得字元,然後判斷字元為大寫還是小寫,如果是大寫字母就轉換為小寫,如果是小寫字母就轉換為大寫 如果輸入的是數字就不輸出 定義乙個終止符,輸入終止符就退出迴圈 最後附上 define crt secure no warnings include includeint...

大小寫字母轉換 彙編

組合語言中一般的格式為 1 定義資料段和 段 2 確認資料段和 段,但是並未指明資料段的位址 3 程式一開始先指明資料段的位址 4 開始程式編寫 5 程式結束時要呼叫程式終止的終斷,否則程式無法正常終止 一段小例程,演示組合語言的基本格式,實現8位數字的加法 資料段定義 data segment a...