1樓:做而論道
僅用兩句傳送指令,即可。
……mov cx, len
next:
mov al, ds[si] ; ① ;開始傳輸資料mov es[di], al ; ②inc si
……程式中,已經給出了 inc si、inc di,所以就不能用串傳送指令。
否則,就重複加一了。
組合語言題目,字串的合併
2樓:匿名使用者
data segment
data1 db 'cde'
data2 db 'abcd'
data ends
esdata segment
data3 db 7 dup(?)
esdata ends
code segment
assume cs:code,ds:data,es:esdatastart:mov ax,data ;送段地址mov ds,ax
mov ax,esdata
mov es,ax
mov si,offset data1 ;取變數的偏移量mov bx,offset data2
mov di,offset data3
mov cx,4 ;把abcd送到data3前4個單元
loop1:mov al,[bx]
mov es:[di],al
inc bx
inc di
loop loop1
mov cx,3 ;把cde送到data3後3個單元loop2:mov al,[si]
mov es:[di],al
inc si
inc di
loop loop2
mov ah,4ch ;退出
int 21h
code ends
end start
字串中的空格,C語言字串中的空格算不算一個字元
copy這個函式,如果 s i 為 0 則退出迴圈是吧,那迴圈到hello和world中間那個空格那裡,那個空格難道不是 0 麼?如果是 0 為什麼還要繼續迴圈呢?你的疑問 空格ascii 碼是32,而 0 ascii 碼是0.字串的末尾胡 0 是自動加上去的,所以 0 和字元0又不一樣了,0的as...
用C語言,編寫名為fun的函式將字串中所有的大寫字母換成小寫字母 高手來
include include void fun char a,int size void main include include void fun char ch int main 任意字串長度都行的,上面的卻是固定的 無用動態內指標 include void fun char q void m...
C語言入門問題為什麼我已經將字串c的結尾加上了0,後面還是會出現奇怪的東西
因為來你是一個一個地輸出數 源組的所有元素,包含bai沒有初du始化的元素zhi,所以會有奇怪dao符號出現。你可以把 char a 10 b 10 c 10 這個宣告,放到 int main 之前宣告,編譯器就會處理它們為全域性量,並初始化,情況就會改善。另外,0 是字串結尾符。你按 s 輸出字串...