USTC ICS(2023Fall) Lab5 Password Verification

2024-02-01 11:04

本文主要是介绍USTC ICS(2023Fall) Lab5 Password Verification,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

LC-3汇编语言

        .orig x3000
LOOP1   AND R1,R1,#0ADD R1,R1,#3LEA R0, string1PUTS                ;打印string1AND R0,R0,#0ADD R0, R0, #10     OUT                 ;打印换行符GETCOUT;检查输入的字符是否为'W'(ASCII码为87)ADD R0,R0,#-16ADD R0,R0,#-16ADD R0,R0,#-16ADD R0,R0,#-16ADD R0,R0,#-16ADD R0,R0,#-7BRnp LOC4AND R0,R0,#0ADD R0, R0, #10     OUT                 ;打印换行符
LOOP2   LEA R0, string2     PUTS                ;打印string2AND R0,R0,#0ADD R0,R0,#10OUT                 ;打印换行符LD R2, BUFFER
INPUT   GETC                ;用键盘输入一个字符OUT                 ;在控制台上显示输入的字符STR R0, R2, #0      ;存储字符到缓冲区;如果输入的字符是'Y(ASCII码为89),则结束输入循环ADD R3, R0, #-16ADD R3, R3, #-16ADD R3, R3, #-16ADD R3, R3, #-16ADD R3, R3, #-16ADD R3, R3, #-9BRz LOOP3           ADD R2, R2, #1      ;移动到下一个缓冲区位置BR INPUT            ;继续输入下一个字符LOOP3   LD R2,BUFFER        ;把x4000存到R2,从x4000开始放输入的字符串LEA R3,string3      ;把string3的地址存到R3
LOC0    LDR R4,R2,#0        ;R4存BUFFER的当前字符LDR R5,R3,#0        ;R5存string3的当前字符ADD R6,R4,#0        ;把BUFFER的当前字符放R6ADD R6,R6,#-16      ;判断BUFFER当前字符是否为'Y',如果是,说明已遍历完输入的字符串ADD R6,R6,#-16ADD R6,R6,#-16ADD R6,R6,#-16ADD R6,R6,#-16ADD R6,R6,#-9BRnp LOC1       ADD R5,R5,#0        ;判断string3当前字符是否为NULL,如果是,说明比较完成BRz LOC2      
LOC1    NOT R6,R4           ;R4取反加1放到R6ADD R6,R6,#1    ADD R7,R5,R6        ;R7=R5-R4BRnp LOC3           ;如果不是0,说明有不同的字符,密码错误ADD R2,R2,#1        ;移动到BUFFER下一个字符ADD R3,R3,#1        ;移动到string3下一个字符BR  LOC0        LOC2    AND R0,R0,#0ADD R0, R0, #10OUT                 ;打印换行符LEA R0, string4PUTS                ;输出"Success!"BR LOC4LOC3    AND R0,R0,#0ADD R0,R0,#10OUTADD R1,R1,#-1BRz LOOP4           ;如果R1为0,说明机会用完了LEA R0, string5PUTS                ;输出string5;把R1里数字的ASCII码输出到控制台ADD R0,R1,#15ADD R0,R0,#1ADD R0,R0,#15ADD R0,R0,#1ADD R0,R0,#15ADD R0,R0,#1OUT;输出' ',ASCII码为32AND R0,R0,#0ADD R0, R0, #15ADD R0,R0,#1ADD R0, R0, #15ADD R0,R0,#1OUTLEA R0, string6PUTS                ;输出string6AND R0,R0,#0ADD R0, R0, #10OUT                 ;输出换行符BR LOOP2LOOP4   LEA R0, string7     PUTS                ;输出string7AND R0,R0,#0ADD R0, R0, #10OUT                 ;输出换行符BR LOOP1
LOC4    HALTstring1 .STRINGZ "Welcome to the bank system! Type 'W' to withdraw some fund."
string2 .STRINGZ "Please input your password:"
string3 .STRINGZ "PB22061161"
string4 .STRINGZ "Success!"
string5 .STRINGZ "Incorrect password!"
string6 .STRINGZ "attempt(s) remain."
string7 .STRINGZ "Fails."BUFFER .FILL x4000.end

这篇关于USTC ICS(2023Fall) Lab5 Password Verification的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/667063

相关文章

【异常】java.sql.SQLException: Unable to load authentication plugin ‘caching_sha2_password‘.

异常现象 执行mysql数据库操作的时候,出现以下异常信息: java.sql.SQLException: Unable to load authentication plugin 'caching_sha2_password'.at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:868) ~[mysql-connector-

Windows用户取消共享文件夹密码方法(Method for Windows Users to Cancel Shared Folder Password)

Windows用户取消访问共享文件夹密码方法 💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:Linux运维老纪的首页,持续学习,不断总结,共同进步,活到老学到老 导航剑指大厂系列:全面总结 运维核心技术:系统基础、数据库、网路技术、系统安全、自动化运维、容器技术、监

Login failed:make sure your username and password are correct and that you’re an admin or moderator

Login failed:make sure your username and password are correct and that you’re an admin or moderator   1.使用MySql查看工具进入数据库,进入表“ofuser”,把字段 plainPassword 改成 123,然后在你的控制台上输入该表的   username跟plainPa

github Host key verification failed

不是密钥问题,不是权限问题,只是在询问 (yes/no)的时候直接回车了,输入yes 再回车就ok了!

ORA-01186: file 201 failed verification tests

环境:oracle11.2.0.4RAC+ASM+red hat6.1x64 主库两节点RAC,备库也为两节点RAC。 备库启用为实时应用查询。日志应用等都是正常的。 主库asm group如下: ASMCMD> ls CRS/DATA/ FRA/ 备库asm group如下: ASMCMD> ls CRS/SDATA/ SFRA/备库启动后报错如下:(查询某些数据字典也会报红色的错误) Dict

mysql密码策略修改(password does not satisfy the current policy requirements)

1.查看当前策略.SHOW VARIABLES LIKE 'validate_password%'; 2.修改策略 等级改为最低:set global validate_password_policy=LOW; 长度改为6:set global validate_password_length=6;

MySQL8.0 以上版本 “caching_sha2_password cannot be loaded” 问题解决办法

MySQL8 以上版本客户端登录 “caching_sha2_password cannot be loaded” 问题 解决办法1: 用root用户登录mysql,然后执行两行命令: ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';FLUSH PRIVILEGES; 注: 1. docker部署的M

store password in keychain 反复出现的解决办法

要注意。 有些平台 用用户名是不能登陆的得用邮箱  比如 coding 就不能 。 解决办法     //END

Host key verification failed.问题解决

ssh连接其他服务器进行scp操作的时候,提示失败,如下所示: Host key verification failed. 原因是被ssh机器没有无法识别当前机器,解决方法: 1. vim /etc/ssh/ssh_config 设置 StrictHostKeyChecking no 外网不建议这样操作 2.在当前机器执行ssh root@IP root是使用的用户名 IP是远程的

linux远程复制文件提示Host key verification failed.

由于公钥不一样了,所以无法登录,提示信息是 KEY 验证失败。 解决方法: step1.编辑ssh配置文件ssh_config vim /etc/ssh/ssh_config  然后将 StrictHostKeyChecking配置为no Host *StrictHostKeyChecking no 当然这是最不安全的级别,当然也没有那么多烦人的提示了,相对安全的内网时建议使用。如果连