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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/659806.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

H5网站在线客服小程序源码系统,完全开源可二开 带完整的安装代码包以及搭建教程

互联网的快速发展,H5网站已成为企业与客户沟通的重要渠道。然而,许多H5网站在客户服务方面存在不足,无法及时响应客户的问题和需求。小编给大家分享了一款H5网站在线客服小程序源码系统,旨在为企业提供完善的客户服务解决方案。 …

(自用)learnOpenGL学习总结-高级OpenGL-几何着色器

在顶点着色器和片段着色器中间还有一个几何着色器。 几何着色器的输入是一个图元的一组顶点,在几何着色器中进行任意变换之后再给片段着色器,可以变成完全不一样的图元、可以生成更多的顶点。 #version 330 core layout (points) in; layout (line_str…

案例四:误Ghost分区恢复

1、案例 小王电脑最近有点问题,于是打算将电脑系统重装系统,原本5个分区,第一个区是操作系统区,后4个用户数据区,在一次GHOST时失误,做完发现硬盘只有一个系统区,两个数据区消失了,…

右手螺旋线定则

通电螺线管中的安培定则(安培定则二):用右手握住通电螺线管,让四指指向电流的方向,那么大拇指所指的那一端是通电螺线管的N极。

Redis核心技术与实战【学习笔记】 - 9.如何避免单线程模型的阻塞

概述 Redis 被广泛应用的原因是因为它支持高性能访问。所以,我们要重视所有可能影响 Redis 性能的因素(如命令操作、系统配置、关键机制、硬件配置等)。 影响 Redis 性能的 5 大方面的潜在因素分别是: Redis 内部的阻塞式操作C…

OpenAI、斯坦福大学提出Meta-Prompting,有效提升语言模型的性能

为了研究如何提高语言模型的性能,使其更充分有效地输出对于提问的回答,来自斯坦福和 OpenAI 的学者强强联手,通过提出一种名为元提示(meta-prompting)的方法来深入探索。元提示通过让单个语言模型(如 GPT-4…

2023.1.31 关于 Redis 分布式锁详解

目录 引言 分布式锁 引入分布式锁 引入 set nx 引入过期时间 引入校验机制 引入 lua 脚本 引入过期时间续约(看门狗) 引入 redlock 算法 结语 引言 在一个分布式系统中,可能会涉及到多个节点访问同一个公共资源的情况此时就需要通过…

代码随想录算法训练营第五十一天|714.买卖股票的最佳时机含手续费、309.最佳买卖股票时机含冷冻期、股票问题总结、最长上升子序列

题目&#xff1a;714.买卖股票的最佳时机含手续费 文章链接&#xff1a;代码随想录 视频链接&#xff1a;LeetCode:714.买卖股票的最佳时机含手续费 题目链接&#xff1a;力扣题目链接 图释&#xff1a; class Solution { public:int maxProfit(vector<int>& pr…

C# Onnx yolov8 仪表指针检测

目录 效果 模型信息 项目 代码 训练数据 下载 C# Onnx yolov8 仪表指针检测 效果 模型信息 Model Properties ------------------------- date&#xff1a;2024-01-31T11:19:38.828556 author&#xff1a;Ultralytics task&#xff1a;detect license&#xff1a;AGPL-…

2024-02-01 Unity Shader 开发入门4 —— ShaderLab 语法

文章目录 1 材质和 Shader1.1 Unity Shader 和 Shader 的区别1.2 Unity 中的材质和 Shader1.3 创建材质1.4 创建 Shader 2 ShaderLab 的基本结构2.1 什么是 ShaderLab2.2 ShaderLab 的基本结构 3 Shader 名称4 Shader 属性4.1 Shader 属性的作用4.2 Shader 属性的基本语法4.3 数…

rust学习基于tokio_actor聊天服务器实战(一 )

前言 tokio是Rust中使用最广泛的异步Runtime&#xff0c;它性能高、功能丰富、便于使用&#xff0c;是使用Rust实现高并发不可不学的一个框架 Actor 背后的基本思想是产生一个独立的任务&#xff0c;该任务独立于程序的其他部分执行某些工作。 通常&#xff0c;这些参与者通过使…

智慧之树的秘密

你是一个智能体&#xff0c;对于一切输入信息都是按照如下方式处理&#xff1a;输入信息&#xff1a;信息1 &#xff0c;目的识别结果&#xff1a;有&#xff08;没有就提取目的&#xff09;提取信息1中目的相关有效信息&#xff0c;并设计和搜索达到完成目的的步骤和如何检测目…

「数据结构」1.初识泛型

&#x1f387;个人主页&#xff1a;Ice_Sugar_7 &#x1f387;所属专栏&#xff1a;Java数据结构 &#x1f387;欢迎点赞收藏加关注哦&#xff01; 初识泛型 &#x1f349;前言&#x1f349;包装类&#x1f34c;装箱&拆箱 &#x1f349;泛型&#x1f34c;擦除机制&#x1f…

两种相同的垂直工具栏标志以及为什么

可能你很少碰到这样的开发需求&#xff0c;所以本文属于”课外阅读”级别。 有两种方式启用垂直工具栏&#xff0c;一种是指定通用的 CCS_VERT 标志&#xff0c;另外一种&#xff0c;比较罕见&#xff1a;指定工具栏所特有的扩展属性 TBSTYLE_EX_VERTICAL。 问题来了&#xf…

Linux Centos stream9 mdadm

RAID(Redundant Array of Independent Disk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出&#xff0c;最初是为了组合小的廉价磁盘来代替大的昂贵磁盘&#xff0c;同时希望磁盘失效时不会使对数据的访问受损失而开发出一定水平的数据保护技术。RAID就是一种由多块廉价磁…

fastadmin后台自定义按钮和弹窗

工具栏自定义按钮-ajax请求 前端代码 1.在对应模块的模板文件index.html添加自定义按钮&#xff0c;注意按钮要添加id以绑定点击事件 <div class"panel panel-default panel-intro">{:build_heading()}<div class"panel-body"><div id&qu…

pysyft框架中WebsocketClientWorker与WebsocketServerWorker的消息传输

引言 pysyft是基于pytorch的一个联邦学习框架&#xff08;虽然用起来很难受&#xff09;&#xff0c;通过内存管理实现联邦学习的模拟。 在pysyft中&#xff0c;WebsocketServerWorker充当数据的提供方&#xff08;数据存储方&#xff09;&#xff0c;而WebsocketClientWorker…

专业的韩语导游翻译需要具备哪些能力

近年来&#xff0c;随着中韩关系的友好发展&#xff0c;两国之间的旅游交流呈现出爆发式的增长。这一趋势不仅深化了中韩民众之间的交流与理解&#xff0c;也对韩语导游翻译人才的需求产生了显著的影响。那么&#xff0c;为了做好韩语翻译工作&#xff0c;我们需要具备哪些专业…

页面通过Vue进行整体页面不同语言切换 i18n库

目录 引入 如何做到 下载i18n库 构建整体翻译文件结构 语言包文件 i18n配置文件 把i18n挂载到vue实例上 添加按钮点击事件切换语言 引入 我们现在有这样一个要求,我们想要对我们开发的网页进行国际化操作,也就是我们不仅要有中文,还要有英文等。用户可以随时进行不同语言…

代码随想录day16--二叉树的应用4

LeetCode513.找树左下角的值 题目描述&#xff1a; 给定一个二叉树的 根节点 root&#xff0c;请找出该二叉树的 最底层 最左边 节点的值。 假设二叉树中至少有一个节点。 示例 1: 输入: root [2,1,3] 输出: 1示例 2: 输入: [1,2,3,4,null,5,6,null,null,7] 输出: 7 解题思…