彙編 上機實驗二

2021-07-24 18:27:01 字數 3032 閱讀 6116

實驗任務:

1.      實現迴圈結構程式設計:陣列累加求和以及排序程式設計;

data segment 

n dw 5

sum dw ?

data ends

code segment

main proc far

assume cs:code,ds:data

start: push ds

mov ax,0

push ax

mov ax,data

mov ds,ax

mov ax,0

mov bx,0

mov cx,0

loop1:

inc bx

add ax,bx

inc cx

cmp ax,100

jbe loop1

mov n,cx

mov sum,ax

retmain endp

code ends

end start

結果(這個不確定)

2.      實現子程式結構程式設計:實現數值轉換,鍵盤輸入十進位制數,顯示輸出對應的十六進製制數;

assume cs:code,ss:stack

stack segment

db 16 dup('?')

stack ends

code segment

start:

mov ax,stack

mov ss,ax

mov sp,16

and bx,0

and dx,0

mov cx,5

read: ;讀取

mov ah,01h

int 21h

cmp al,0dh ;判斷是否鍵入回車符

jz do

cmp al,0ah

jz do

mov bl,al,

and bl,0fh ;將輸入的十進位制轉化為二進位制

mov ax,dx ;將轉化後的二進位制數存入ax

mov dx,0ah

mul dx ;結果乘10

add ax,bx

mov dx,ax ;將乘完10的結果繼續儲存在dx暫存器

loop read

do: mov ax,dx

loopdo:

and dx,0

mov bx,10h

div bx ;對結果除10進行壓棧

push dx

mov cx,ax

jcxz showenter

jmp loopdo

showenter:

mov dx,0ah

mov ah,02h

int 21h ;顯示回車換行

mov dx,0dh

int 21h

show:

pop dx

cmp dx,9 ;顯示輸出

jbe abcdef

add dx,7h ;大於9的值要加ascii碼37(abcdef)

abcdef:

add dx,30h

mov ah,02h

int 21h

cmp sp,16

jz exit

loop show

exit:

mov ax,4c00h

int 21h

code ends

end start

結果

3.      遞迴子程式設計:求n!。

data        segment

buf dw 10 ;求10!

resu dw ? ;結果儲存在resu中

data ends

code segment

assume cs:code, ds:data

start:

mov ax, data

mov ds, ax

mov ax, buf

call fact

mov resu, dx

mov ah, 4ch

int 21h

fact proc near

push ax

cmp ax, 0

ja next1

mov dx, 1

jmp next2

next1:

push ax

dec ax

call fact

pop ax

mul dl

mov dx, ax

next2:

pop ax

retfact endp

code ends

end start

結果

彙編 上機實驗一

一 實驗任務 1.實現人機對話程式設計 給出人機對話的具體程式要求 data segment pars db 100,100 dup mesg db what is your name?data ends stack segment para stack stack db 100 dup stack...

彙編上機操作

用文字編輯程式寫程式,形成.asm檔案進行彙編,形成.obj檔案,再用連線程式對.obj檔案進行連線,形成.exe檔案。需要檔案 編輯程式 edit.com 匯程式設計序 masm.exe 連線程式 link.exe 除錯程式 debug.exe 常用dos命令 盤 c e 選擇碟符 cd 選擇目錄...

彙編上機涉及檔案

asm是組合語言源程式的副檔名,組合語言 assembly language 是面向機器的程式設計bai語言。組合語言是一種功能很強的程式語言,是利用計算機所有硬體特性並能直接控制硬體的語言。開啟asm檔案有兩種方法即筆記本和masmedit軟體。在組合語言中,用助記符 memoni 代替操作碼,用...