;program: 兩個數的相加
;author: 龍文漢
;date: 20.10.7
.386
.model flat
exitprocess proto near32 stdcall, dwexitcode:dword
include io.h
cr equ 0dh
lf equ 0ah
.stack 4096
.data
number1 dword ?
number2 dword ?
prompt1 byte "enter first number: ",0
prompt2 byte "enter second number: ",0
string byte 40 dup (?)
label1 byte cr,lf,"the sum is"
sum byte 11 dup (?)
byte cr,lf,0
.code
_start:
output prompt1
input string ,40
atod string
mov number1,eax
output prompt2
input string ,40
atod string
mov number2,eax
mov eax,number1
add eax,number2
dtoa sum,eax
output label1
invoke exitprocess,0
public _start
end
寫乙個完整的8086組合語言程式,滿足一下要求:
a. 從鍵盤輸入自己的姓名,顯示輸出「hello,姓名」,其中「姓名」為自己輸入的姓名。
;program: 輸入自己的名字
;author: 龍文漢
;date: 20.10.7
.386
.model flat
exitprocess proto near32 stdcall, dwexitcode:dword
include io.h ; header file
for input/output
cr equ 0dh ; carriage return character
lf equ 0ah ; line feed
.stack 4096 ; reserve 4096-byte stack
.data ; reserve storage for data
name1 dword 10 dup (?)
prompt byte "enter your name:"
string byte 40 dup (?)
prompt1 byte "hello,"
.code ; start of main program code
_start:
output prompt
input name1,10
output prompt1
output name1
invoke exitprocess, 0 ;
exit with return code 0
public _start ;
make entry point public
end ; end of source code
寫乙個完整的8086組合語言程式,滿足一下要求:
a. 資料段申請乙個儲存資料的字長資料(乙個長度為word的變數),該資料儲存的值20。
b. 資料段申請乙個儲存資料的雙字字長資料(乙個長度為dword的變數),該資料的值從鍵盤輸入。
c. 顯示上述兩個資料在螢幕上。
;program: 實驗1,3
;author: 龍文漢
;date: 20.10.7
.386
.model flat
exitprocess proto near32 stdcall, dwexitcode:dword
include io.h ; header file
for input/output
cr equ 0dh ; carriage return character
lf equ 0ah ; line feed
.stack 4096 ; reserve 4096-byte stack
.data ; reserve storage for data
number1 word 20
number2 dword 20 dup (?)
prompt1 byte "enter the numb2:"
byte cr,lf,0
string byte 40 dup (?)
string2 word 20 dup (?)
byte cr,lf,0
prompt2 byte "第乙個數"
byte cr,lf,0
prompt3 byte cr,lf,"第二個數"
byte cr,lf,0
.code ; start of main program code
_start:
output prompt1
input string,40
atod string
mov number2,eax
itoa string2,number1
output prompt2
output string2
mov eax,number2
dtoa number2,eax
output prompt3
output number2
invoke exitprocess, 0 ;
exit with return code 0
public _start ;
make entry point public
end ; end of source code
cr,lf的使用
cr equ 0dh ; carriage return character(回車)
lf equ 0ah ; line feed(換行)
prompt3 byte cr,lf,"第二個數"
byte cr,lf,0
先給0dh(回車),0ah(換行)定義兩個賦值名cr,lf,方便操作.
而在之後的操作中,可以直接將其付給變數。特別注意:回車:將游標重新移到本行的開頭,換行:將游標移動到下一行的相同位置。因此,這兩個通常同時使用。
程式整體介紹(第乙個為例子)
組合語言學習筆記 三
ram 允許讀寫,斷電 資料 和 指令 丟失 rom 只允許讀取,斷電 資料 和 指令 不丟失 1 cpu和計算機各個部件之間的關係 通過給各個部件進行編號,例如 0 399記憶體條 401 699顯示卡 2 ram 允許讀寫,斷電 資料 和 指令 丟失 3 rom 只允許讀取,斷電 資料 和 指令...
組合語言學習(三)
這部分是王爽 組合語言 第7 8章重要內容的總結。主要分為四部分 1.用組合語言實現大小寫字母的轉換 and和or指令應用 2.組合語言二重迴圈的寫法 3.資料處理的兩個基本問題 4.實驗七的思路與 實驗七基本上是對之前學習內容的乙個總結應用,比較重要。大小寫字母轉換部分幫助理解ascii碼設計的奇...
組合語言學習(三)
1.順序結構 略 2.分支結構 1 設計乙個分段函式,x 0,y 1 x 0,y 0 x 0,y 1.486 data segment use16 x dw data ends code segment use16 assume cs code,ds data start mov ax,data m...