當前位置:首頁 » 課程大全 » 匯編語言課程設計實驗要求

匯編語言課程設計實驗要求

發布時間: 2021-02-12 02:00:11

㈠ 匯編語言程序設計實驗報告

你的程序不完整,以下為完整程序:

datareasegment
DATA1dw5
DATA2dw4
DATA3dw?
DATA4dw?
datareaends

prognamsegment
mainprocfar
assumecs:prognam,ds:datarea
start:movax,segdatarea
movds,ax
moves,ax
movax,data1
movbx,data2
addax,bx
movDATA3,ax

movax,DATA1
subax,bx
movDATA4,ax
movah,4ch
int21h
ret
mainendp
prognamends
endstart

㈡ 匯編語言課程設計

建議參考吳秀清的微機教材

㈢ 王爽匯編語言課程設計2實驗環境具體怎麼弄,還有程序設計好後是直接在DOS下運行還是在軟盤下

其實很簡單:下載一個masm6.15的壓縮文件(直接在網路主頁里搜「masm6.15下載」),大概4.32M,下載後,解壓縮到D:盤,將文件夾的名字改為masm,這是因為解壓後的名字默認為masm 615,中間有個空格不太好(因為再DOS下對於有空格的文件夾的名字要用雙引號括起來,比較麻煩)。
1、用記事本或其他文本編輯器(例如Editplus)寫好匯編程序,保存為.asm格式的文件(直接將後綴名修改為.asm),例如文件名為test.asm,放到D:盤。
2、在windows下點擊「開始」,再點擊「運行」,在編輯框中輸入cmd,切換到DOS界面下。進入D:盤——d:,再回車。
3、在當前目錄(D:盤下)用cd命令,切換到剛才解壓到D:盤的masm目錄下的BIN目錄下——
cd masm\bin
4、 然後生產目標文件,使用命令——masm D:\test.asm(後綴名可以省略,默認為.asm),生成.obj的目標文件,該目標文件在D:\masm\BIN目錄下。將生成的.obj文件拷貝到D:盤根目錄下(其實不用拷貝也行,只要下面能找到該.obj文件就行,個人建議將.obj文件和.asm文件放到一起比較清楚)。
5、再使用命令將.obj目標文件鏈接成.exe文件(還在D:\masm\BIN目錄下使用命令)——
link D:\test.obj(後綴名可以省略,默認為.obj),出現選項讓你選,第一個選項是讓你輸入生成的.exe文件的名字,例如輸入——D:\test.exe(後綴名可以省略,默認為.exe),其他選項暫時可以不考慮(其實看他們的名字就能看懂)。這樣就在D:盤下生成了一個test.exe的可執行文件。
6、雙擊該文件,發現屏幕閃了一下就沒了,說明程序是運行了。要想看到程序每一步的執行情況,那麼生成的test.exe文件要在Debug模式下運行。在DOS界面下(任何目錄)輸入命令——debug D:\test.exe(此時後綴名.exe必須要有),回車後就開始運行該可執行文件了。按照王爽那本書上從第91頁開始的程序執行過程的跟蹤使用的一些命令,例如:r命令、u命令、d命令、g命令、p命令等的使用,就能查看和控製程序的運行了。

㈣ 匯編語言課程設計

我覺得你這個要求也太苛刻了吧!

㈤ 求單片機課程設計實驗 用匯編語言,基於51單片機的定時鬧鍾

MOV AL,0FFH
MOV DX,300H
OUT DX,AL
CALL CLEAR ;LCD 清除
LEA BX,HZ_TAB
MOV CH,2 ;顯示第2行信息
CALL LCD_DISP
LEA BX, HZ_TAB
MOV CH,3 ;顯示第3行信息
CALL LCD_DISP
l1: JMP L1
CLEAR PROC
MOV AL,0CH
MOV DX,IO_ADDRESS
OUT DX,AL ;設置CLEAR命令
CALL CMD_SETUP ;啟動LCD執行命令
RET

㈥ 匯編語言實驗

(NAME=STUDENTSLOG1,
FILENAME='E:\DATA\STUDENTSLOG1.ldf',
SIZE=5,
MAXSIZE=50,
FILEGROWTH=1),
(NAME=STUDENTSLOG2,
FILENAME='E:\DATA\STUDENTSLOG2.ldf',
SIZE=5,
MAXSIZE=50,
filegrowth=1)

㈦ 匯編語言課程設計求解

.modelsmall
.data
stuinfodb'XiaomingLi,Num.00001',0dh,0ah,'$'
msg0db'InputN(2<N<50):$'
msg1db0dh,0ah,'Inputisinvalid,reinput:$'
crlfdb0dh,0ah,'$'
Ndb0

.code
.startup
leadx,stuinfo
movah,9
int21h

leadx,msg0
int21h
movbl,10
r0:
movbh,0
r1:;readN
movah,1
int21h
cmpal,0dh
jzr2

cmpal,'0'
jbe0
cmpal,'9'
jae0

andal,0Fh
xchgal,N
mulbl
addN,al

incbh
cmpbh,2
jzr2
jmpr1

r2:
moval,N
cmpal,3
jbe0
cmpal,50
jaee0

;print
movah,9
leadx,crlf
int21h

movbx,0
movax,2
c0:
addbx,ax
callprint
addax,2
cmpal,N
jac1
callprintplus
jmpc0
c1:
movax,0e3dh;'=':3dh
int10h

movax,bx
callprint

jmpexit

e0:
movah,9
leadx,msg1
int21h
movN,0
jmpr0

exit:
.exit0

printplusprocnear
pushax
movax,0e2bh;'+':2bh
int10h
popax
ret
printplusendp

printprocnear
pushax
pushbx
movbx,10
xorcx,cx
q0:
xordx,dx
divbx
xordx,0e30h
pushdx
inccx
cmpax,0
jnzq0

q1:
popax
int10h
loopq1

popbx
popax
ret
printendp

END

㈧ 匯編語言課程設計求程序!題目下面!

; 本程序通過編譯,運行正確
Code Segment
Assume CS:Code,DS:Code
; -----------------------------------------
; 功能:顯示指定地址(Str_Addr)的字元串
; 入口:
; Str_Addr=字元串地址(要求在數據段)
; 用法: Output Str_Addr
; 用法舉例:Output PromptStr
Output MACRO Str_Addr
push dx
lea dx,Str_Addr
mov ah,9
int 21h
pop dx
EndM
; -----------------------------------------
; 功能:輸出一個字元
; 入口:dl=要顯示的字元
Output_Chr proc Near
push ax
mov ah,02h
int 21h
pop ax
ret
Output_Chr endp
; -----------------------------------------
; 功能:輸出回車換行
Output_CTLF proc Near
push ax
push dx
mov ah,02h
mov dl,0dh
int 21h
mov dl,0ah
int 21h
pop dx
pop ax
ret
Output_CTLF endp
; -----------------------------------------
; 功能:取游標位置
; 入口:無
; 出口:DH=行號,DL=列號
GetCursor Proc Near
PUSH AX
PUSH BX
PUSH CX
XOR BX,BX
MOV AH,3
INT 10H
MOV Cursor_Row,DH
MOV Cursor_Col,DL
POP CX
POP BX
POP AX
RET
Cursor_Row DB ?
Cursor_Col DB ?
GetCursor EndP
; -----------------------------------------
; 功能:置游標位置
; 入口:Cursor_Row=行坐標; Cursor_Col: 列坐標)
SetCursor Proc Near
PUSH CX
PUSH BX
PUSH AX
MOV DH,Cursor_Row
MOV DL,Cursor_Col
XOR BX,BX
MOV AH,2
INT 10H
POP AX
POP BX
POP CX
RET
SetCursor EndP
; -----------------------------------------
; 功能:將AL中的低4位二進制數轉換成十六進制顯示的ASCII碼
; 入口:AL
; 出口:AL=轉換後的ASCII碼
AL_ASCII Proc Near
cmp al,10 ;AL<10?
jb @@To_ASCII ;AL<10,按數字處理
add al,7 ;AL>=10,按大寫字母處理
@@To_ASCII: add al,'0' ;轉換成相應的數字或大寫字母
ret
AL_ASCII EndP
; -----------------------------------------
; 功能:將AL中的位元組數據轉換成十六進制顯示的ASCII碼
; 入口:AL
; 出口:AX=轉換後的ASCII碼
Byte_ASCII Proc Near
push cx
mov cx,4
xor ah,ah ;將AH置0
shl ax,cl ;將AX左移4位
shr al,cl ;將AL右移4位
xchg ah,al
call AL_ASCII ;調用子程序,將AL中的值轉換成相應的ASCII碼
xchg ah,al
call AL_ASCII
xchg ah,al
pop cx
ret
Byte_ASCII EndP
; -----------------------------------------
; 功能:將AL中的位元組數據轉換成十六進制顯示的ASCII碼,並在當前游標位置顯示
; 入口:AL
; 出口:AX=轉換後的ASCII碼
ByteD_ASCII Proc Near
push dx
push ax
call Byte_ASCII ;將AL中的位元組數轉換成十六進制顯示的ASCII碼
cmp al,'9'
jbe $+7
mov dl,'0'
call Output_Chr ;顯示一個字元
mov dl,al
call Output_Chr ;顯示一個字元
mov dl,ah
call Output_Chr ;顯示一個字元
mov dl,'H'
call Output_Chr ;顯示一個字元
pop ax
pop dx
ret
ByteD_ASCII EndP
; -----------------------------------------
; 功能:將AX中的字數據轉換成十六進制顯示的ASCII碼,並在當前游標位置顯示
; 入口:AX
WordD_ASCII Proc Near
push dx
push ax
push ax
xchg ah,al
call Byte_ASCII ;將AL中的位元組數轉換成十六進制顯示的ASCII碼
cmp al,'9'
jbe $+7
mov dl,'0'
call Output_Chr ;顯示一個字元
mov dl,al
call Output_Chr ;顯示一個字元
mov dl,ah
call Output_Chr ;顯示一個字元
pop ax
call Byte_ASCII ;將AL中的位元組數轉換成十六進制顯示的ASCII碼
mov dl,al
call Output_Chr ;顯示一個字元
mov dl,ah
call Output_Chr ;顯示一個字元
mov dl,'H'
call Output_Chr ;顯示一個字元
pop ax
pop dx
ret
WordD_ASCII EndP
; -----------------------------------------
; 功能:輸入內存單元的段地址或偏移地址
; 入口參數:無
; 出口參數:若直接回車(沒有輸入地址)或地址中含有無效字元,進位標志置位;
; 否則,進位標志清位,BX=有效地址
Input_Addr Proc Near
lea dx,Buffer ;字元串緩沖區地址
mov ah,0ah
int 21h
lea si,Buffer[1] ;實際輸入的字元數地址
lodsb ;讀入實際輸入的字元數
test al,0ffh
jz @@Invalid
xor bx,bx ;有效地址初值
mov cl,al
xor ch,ch
@@Checking: lodsb ;讀入一個字元
cmp al,'0' ;字元<'0'?
jb @@Letter ;是,判斷是否字母
cmp al,'9' ;字元<='9'?
jbe @@Valid ;是,累加有效地址
@@Letter: mov ah,al
and ah,0dfh
cmp ah,'A' ;字元<'A'?
jb @@Invalid ;是,無效字元
cmp ah,'Z' ;字元<'Z'?
ja @@Invalid ;是,無效字元
@@Valid: and al,0fh
push cx
mov cx,4
shl bx,cl ;有效地址左移4位
or bl,al ;加上低4位
pop cx
loop @@Checking ;下一位
clc ;進位標志清位
ret
@@Invalid: stc ;進位標志置位
ret
Input_Addr EndP
; -----------------------------------------
Segment_Str db 'Please input a segment address(heximal): $'
Offset_Str db 13,10,'Please input a offset address(heximal): $'
Memory_Addr dd ? ;內存地址。偏移地址在前、段地址在後
Press_Key db 7,13,10,13,10,'Press any key to exit...$'
Start: push cs
pop ds
push cs
pop es ;使數據段、附加段與代碼段同段
cld
Output Segment_Str ;提示輸入段地址
call GetCursor ;取游標位置
@@Segment: call SetCursor ;置游標位置
call Input_Addr ;輸入地址
jc @@Segment ;若地址無效,重新輸入
mov word ptr Memory_Addr[2],bx ;保存段地址
Output Offset_Str ;提示輸入偏移地址
call GetCursor
@@Offset: call SetCursor
call Input_Addr
jc @@Offset
mov word ptr Memory_Addr,bx ;保存偏移地址
call Output_CTLF ;輸出一個回車、換行
call Output_CTLF
mov dl,'['
call Output_Chr
mov ax,word ptr Memory_Addr[2] ;取內存單元段地址
call WordD_ASCII ;將AX中的字數據轉換成十六進制顯示的ASCII碼,並在當前游標位置顯示
mov dl,':'
call Output_Chr
mov ax,word ptr Memory_Addr ;取內存單元偏移地址
call WordD_ASCII
mov dl,']'
call Output_Chr
mov dl,'='
call Output_Chr
lds si,Memory_Addr ;裝入有效地址
lodsb ;讀入這個內存單元的一個位元組
push cs
pop ds
call ByteD_ASCII ;將AL中的位元組數據轉換成十六進制顯示的ASCII碼
Exit_Key: Output Press_Key
mov ah,1
int 21h
Exit_Proc: mov ah,4ch ;結束程序
int 21h
Buffer db 5 ;段地址、偏移地址輸入緩沖區
Code ENDS
END Start ;編譯到此結束

熱點內容
武漢大學學生會輔導員寄語 發布:2021-03-16 21:44:16 瀏覽:612
七年級學生作文輔導學案 發布:2021-03-16 21:42:09 瀏覽:1
不屑弟高考成績 發布:2021-03-16 21:40:59 瀏覽:754
大學畢業證會有成績單 發布:2021-03-16 21:40:07 瀏覽:756
2017信陽學院輔導員招聘名單 發布:2021-03-16 21:40:02 瀏覽:800
查詢重慶2018中考成績查詢 發布:2021-03-16 21:39:58 瀏覽:21
結業考試成績怎麼查詢 發布:2021-03-16 21:28:40 瀏覽:679
14中醫醫師資格筆試考試成績查分 發布:2021-03-16 21:28:39 瀏覽:655
名著賞析課程標准 發布:2021-03-16 21:27:57 瀏覽:881
北京大學商業領袖高端培訓課程 發布:2021-03-16 21:27:41 瀏覽:919