鉴于之前学习代码的时候总是因为没有在课后整理笔记并且重新复习而导致知识点掌握不熟练的后果,现在将每次学习的笔记整理至csdn博客中。以便更好的督促自己学习
.386 ;选择的处理器
.model flat, stdcall
option casemap:none ;指明标识符大小写敏感
include kernel32.inc ;要引用的头文件
includelib kernel32.lib ;要引用的库文件
includelib msvcrt.lib ;引用C库文件
scanf PROTO C:DWORD,:vararg ;C语言scanf函数原型声明
printf PROTO C:DWORD,:vararg;C语言printf函数原型声明
.data ;⑤数据段
;*【*/
fmt BYTE '%.3lf %.3lf',0 ;12.300 4.560
fmt2 BYTE '%lf %lf',0 ;12.300000 4.560000
fmt3 BYTE '%g %g',0 ;%g不输出无意义的0 12.3 4.56
fmt4 byte '%+.3lf%-+10.3lfi' ;输出显示3位 +12.300-4.560
s1 QWORD ?
s2 QWORD ?
.code
start:
invoke scanf,ADDR fmt2,ADDR s1,ADDR s2
invoke printf,ADDR fmt3,s2,s1
;*】*/
invoke ExitProcess,0 ;退出进程,返回值为0
end start
.386 ;选择的处理器
.model flat, stdcall
option casemap:none ;指明标识符大小写敏感
include kernel32.inc ;要引用的头文件
includelib kernel32.lib ;要引用的库文件
includelib msvcrt.lib ;引用C库文件
scanf PROTO C:DWORD,:vararg ;C语言scanf函数原型声明
printf PROTO C:DWORD,:vararg;C语言printf函数原型声明
.data ;⑤数据段
;*【*/
s1 byte ?
s2 byte ?
fmt byte '%c %c',0 ;输出为 :A B
fmt1 byte '"%c" %c',0 ;输出为 :"A" B
fmt2 byte " '%c' %c ",0 ;输出为 :'A' B
.code
start:
invoke scanf,ADDR fmt,ADDR s1,ADDR s2
invoke printf,ADDR fmt,DWORD PTR s1,DWORD PTR s2 ;此处要进行强制类型转化
;*】*/
invoke ExitProcess,0 ;退出进程,返回值为0
end start
.386 ;选择的处理器
.model flat, stdcall
option casemap:none ;指明标识符大小写敏感
include kernel32.inc ;要引用的头文件
includelib kernel32.lib ;要引用的库文件
includelib msvcrt.lib ;引用C库文件
scanf PROTO C:DWORD,:vararg ;C语言scanf函数原型声明
printf PROTO C:DWORD,:vararg;C语言printf函数原型声明
.data ;⑤数据段
;*【*/
s1 DWORD ?
s2 DWORD ?
fmt byte '%d %d',0 ;输出为: 2 3
.code
start:
invoke scanf,ADDR fmt,ADDR s1,ADDR s2
invoke printf,ADDR fmt,s1,s2 ;此处要进行强制类型转化
;*】*/
invoke ExitProcess,0 ;退出进程,返回值为0
end start
.386 ;选择的处理器
.model flat, stdcall
option casemap:none ;指明标识符大小写敏感
include kernel32.inc ;要引用的头文件
includelib kernel32.lib ;要引用的库文件
includelib msvcrt.lib ;引用C库文件
scanf PROTO C:DWORD,:vararg ;C语言scanf函数原型声明
printf PROTO C:DWORD,:vararg;C语言printf函数原型声明
.data ;⑤数据段
;*【*/
s1 BYTE 80 DUP(0)
s2 BYTE 80 DUP(0)
fmt byte '%s %s',0 ;输出为:
.code
start:
invoke scanf,ADDR fmt,ADDR s1,ADDR s2
invoke printf,ADDR fmt,s1,s2
;*】*/
invoke ExitProcess,0 ;退出进程,返回值为0
end start