. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
主题 : :  在这段代码中SI为什么为0  [已解决] 回复[ 3次 ]   点击[ 353次 ]  
a83841365
[帖 主] [ 发表时间:2009-09-03 18:20 ] 
荣誉值:0
信誉值:2
注册日期:2008-11-04 12:07
title ***简单密码输入 by lluct***
data segment                                           ;定义数据段
input   db      100 dup (?)                     ;定义输入的字符串,字符串必须用db定义,长度为100个字节
cmpare  db      '5201314','$'                   ;定义密码
msg1    db      'PASSWORD RIGHT!','$'           ;定义输入密码正确后显示出来的信息
msg2    db      'PASSWORD ERROR!','$'           ;定义输入密码错误后显示出来的信息
headmsg db      'ENTER YOUR PASSWORD:','$'        ;头信息
data ends                                           ;数据段结尾 

code segment                                           ;定义代码段
 assume cs:code                                  ;规定cs的内容
 assume ds:data                                  ;规定ds的内容

start:  mov         ax,data                          ;程序从start开始
        mov         ds,ax                                  ;ds置初值,data的段地址
        mov         si,0                                  ;变址寄存器置初值0

变址寄存器置初值0设置为0有什么用??
yxgc2008
[第2楼] [ 回复时间:2009-09-03 20:42 ] 
荣誉值:4
信誉值:0
注册日期:2009-09-03 20:09
si设置为0:在这里用来表明input这个数组的下标从0开始;
mov input[si],al这有什么用为什么把AL放到SI:这表明输入的密码是由若干个字符组成,而每次输入一个,按顺序放入input这个数组中。
此问题已结贴!
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved