下面需要去轉換的資料是將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...