; ********************* getstr.asm *******************
.model small
.data
msg DB 'please keyin a string : ', '$'
crlf DB 13, 10, '$'
buf DB 80
.code
start:
mov AX,@data
mov DS,AX
MOV DX, OFFSET[msg] ;顯示msg字串
MOV AH, 09H
INT 21H
MOV DX, OFFSET[buf] ;鍵入一個字串至buf
MOV AH, 0aH
INT 21H
MOV BH, 0 ;將s中0dH改成'$'
MOV BL, [buf][1]
MOV AL,'$'
MOV [buf][2][BX],AL
MOV DX, OFFSET[crlf] ;換列
MOV AH, 09H
INT 21H
MOV DX, OFFSET[buf][2] ;顯示s
MOV AH, 09H
INT 21H
MOV Ah, 4cH
INT 21H
end
-----
記得offset相當於c語言的指標
會將位址傳到register上去
簡單的說就是c語言裡的*
而不用offset時則是直接在memory上做r/W的動作
搞了我一個小時 = ="
另~此程式是在老蔡的blog上看到的
只是照著抓下來跟本無法組譯
只好改寫
不過大架構上還是以它那邊抓下來的為主
沒有留言:
張貼留言