- 写一个完整的8086汇编语言程序,从键盘输入自己的学号,在屏幕上显示“Hello,学号”。
例如输入:20200001
屏幕上显示:Hello,20200001
;Program:
;Author:
;Date:
.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
number DWORD ?
prompt BYTE " Enter your student ID: ",0
prompt2 BYTE "Hello,",0
string BYTE 40 DUP (?)
.CODE ; start of main program code
_start:
output prompt
input string, 40
atod string
mov number, eax
output prompt2
output string
INVOKE ExitProcess, 0 ; exit with return code 0
PUBLIC _start ; make entry point public
END ; end of source code
2.
- 写一个完整的8086汇编语言程序,满足一下要求:
- 数据段申请一个存储数据的字长数据(一个长度为word的变量),该数据存储的值存储为FFFFH。
- 数据段申请一个存储数据的双字长数据(一个长度为dword的变量),该数据的值存储为50。
- 将上述数据的十进制显示在屏幕上。
(代码清单)
;Program:
;Author:
;Date:
.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 0FFFFH
number2 dword 50
result1 BYTE 11 DUP(?)
result2 BYTE 11 DUP(?)
.CODE ; start of main program code
_start:
itoa result1,number1
dtoa result2,number2
output result1
output result2
INVOKE ExitProcess, 0 ; exit with return code 0
PUBLIC _start ; make entry point public
END ; end of source code
(运行结果截图)
3.
- 写一个完整的8086汇编语言程序,从键盘输入一串数字,将其转化为数值存储在EAX寄存器中。
例如键盘输入:59
Eax的值为59。利用windbg工具检查看eax寄存器的值,此时的值为16进制如下图所示。
(代码清单)
;Program:
;Author:
;Date:
.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
number dword ?
string BYTE 40 DUP(?)
.CODE ; start of main program code
_start:
input string,40
atod string
mov number,eax
INVOKE ExitProcess, 0 ; exit with return code 0
PUBLIC _start ; make entry point public
END ; end of source code
(windbg结果截图)