1:試按下列要求在資料段中依次書寫各資料定義語句:
(1) 以da1為首位元組的連續儲存單元中存放20h個重複的資料序列:2,3,10個4,乙個7
da1 db 20h dup(2,3,10 dup(4),7)
(2)da2為字串變數,用字變數(dw)設定一字串:『students』(按此
順序存放在各單元中)
da2 dw 『st』 , 『ud』 , 『en』 , 『ts』
2、var db 2 dup ( 1 , 2 , 2 , dup ( 3 ) , 2 dup ( 1 ) )
在var 儲存區前5個單元的資料是多少?
1,2,3,3,3
3、執行下列程式段後,(ax)=?
array dw 10 dup (2)
xor ax ,ax
mov cx,length array
mov si,size array-type array
next:add ax,array[si]
sub si,type array
loop next
(ax)=20
4:現有如下程式段:
data segment
org 0020h
da1 dw 12h,23h
da2 db 11h,21h
da3 equ 1234h
da4 equ $-da2
da5 db 31h,32h
data ends
(1) 該程式段已占有的儲存位元組數是多少?
該程式段已占有的儲存位元組數是8個位元組。
(2) 符號名da4的值是多少?符號名da5的值是多少?
符號名da4的值為2,符號名da5的值是0026h。
5、設一程式段定義如下:
org 0024h
ar1 dw 4, 5, $+4
……mov ax , ar1+4
執行後ax=?
ax=0028h
6、程式的功能
begin: mov ah,1
int 21h
cmp al,』a』
jb stop
cmp al,』z』
ja stop
sub al,20h
mov dl,al
mov ah,2
int 21h
jmp begin
ret對鍵盤輸入的小寫字母用大寫字母顯示出來
7、寫乙個把字串中的所有大寫字母改為小寫字母.設字串以0 結尾.
code segment
assume cs:code,ds:code
; 功能:顯示指定位址(str_addr)的字串
; 入口:
; str_addr=字串位址(要求在資料段)
; 用法: output str_addr
; 用法舉例:output promptstr
output macro str_addr
lea dx,str_addr
mov ah,9
int 21h
endm
prompt_str db 'please input a string,press "0" termanite:$'
press_key db 13,10,13,10,'the complated. press any key to exit...$'
start: push cs
pop ds
push cs
pop es
output prompt_str ;提示輸入字串
lea di,buffer ;字串位址
cldinput_str: mov ah,1
int 21h
stosb ;儲存
cmp al,'0'
jz $+4 ;若字元為'0',結束輸入
jmp input_str ;輸入下乙個字元
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
lea si,buffer ;字串位址
up_down: lodsb
cmp al,'a'
jb $+8
cmp al,'z'
ja $+4
or al,20h ;轉換成小寫字母
mov dl,al
mov ah,2
int 21h
cmp al,'0'
jz exit_proc ;若字元為'0',結束程式
jmp up_down
exit_proc: output press_key ;提示操作完成,按任意鍵結束程式
mov ah,1
int 21h
mov ah,4ch ;結束程式
int 21h
buffer:
code ends
end start ;編譯到此結束
8.編一程式在以buf為首址的位元組單元中存放了100個無符號數,找出其中最大數送max單元。
buf db 5,6,7,58h,62,45h,127,……
count equ $-buf; count 等於變數 buf 位元組數
max db?..
.mov bx, offset buf
mov cx,count-1
moval, [bx]
lop1:inc bx
cmp al, [bx]
jae next
moval, [bx]
next:dec cx
jnz lop1
mov max,al.
組合語言 第3章巨集組合語言
第三章巨集組合語言 一 巨集組合語言格式 3.1.1 指令語句格式 指令語句的一般格式如下 標號 指令助記符運算元 注釋 1 標號 標號是機器指令語句存放位址的符號表示,代表該指令目標 的第乙個位元組位址,後面必須緊跟冒號 2 指令助記符 指令助記符為語句的核心成分,表示了該語句的操作型別。3 運算...
組合語言總結
一 乙個完整的源程式的結構 乙個源程式一般由若干個段組成,每個分段可以是棧段 資料段和 段。乙個源程式可以有多個棧段 資料段和 段,從語法規則上來看,棧段是有明顯標誌的 段最好的型別為 code 的標記,並用cs作為段界暫存器,只有資料段不要求標誌。完整的源程式的結構一般形式如下 程式名稱 二 源程...
組合語言總結
組合語言學習體會 大一大二期間學寫了一些高階語言,如c語言和c 在對一些實際問題的程式設計處理上使用這些高階語言顯得很是方便。於是在剛接觸這門課的時候就對其實用性產生了懷疑和一些的牴觸情緒。再學習了一段時間後,雖然對一些繁雜的指令有些討厭 但還是硬著頭皮學著下來了 但後來再經過實驗課的學習感覺組合語...