惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

T
Threatpost
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
T
The Blog of Author Tim Ferriss
S
SegmentFault 最新的问题
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 司徒正美
T
Tailwind CSS Blog
The Cloudflare Blog
The Last Watchdog
The Last Watchdog
PCI Perspectives
PCI Perspectives
博客园 - 聂微东
Stack Overflow Blog
Stack Overflow Blog
TaoSecurity Blog
TaoSecurity Blog
云风的 BLOG
云风的 BLOG
C
Cybersecurity and Infrastructure Security Agency CISA
O
OpenAI News
Recorded Future
Recorded Future
GbyAI
GbyAI
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Y
Y Combinator Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
量子位
博客园 - 叶小钗
V
Vulnerabilities – Threatpost
F
Full Disclosure
Recent Announcements
Recent Announcements
Vercel News
Vercel News
S
Schneier on Security
H
Heimdal Security Blog
Cisco Talos Blog
Cisco Talos Blog
V2EX - 技术
V2EX - 技术
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
B
Blog RSS Feed
宝玉的分享
宝玉的分享
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
P
Privacy & Cybersecurity Law Blog
T
Threat Research - Cisco Blogs
G
Google Developers Blog
C
Cyber Attacks, Cyber Crime and Cyber Security
爱范儿
爱范儿
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
C
Check Point Blog
N
Netflix TechBlog - Medium
S
Security @ Cisco Blogs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Microsoft Azure Blog
Microsoft Azure Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Cyberwarzone
Cyberwarzone

Yesterday17's Blog

2026 新年解密红包 / Melody Flag | Yesterday17's Blog 谈谈 Iori 的设计思路(二):如何实现一个 Showroom 录制工具? | Yesterday17's Blog 谈谈 Iori 的设计思路(一):从 Nico Timeshift 说起 | Yesterday17's Blog Iori Minyami 0.1.0 发布 | Yesterday17's Blog 2025 新年解密红包 / Melody Flag | Yesterday17's Blog 使用 Cloudflare Warp 解决罗森票务的海外登录问题 | Yesterday17's Blog How To Blog 04: The Astro v5 Era | Yesterday17's Blog 谈谈 tokio::select! 的公平性 | Yesterday17's Blog Learning Pingora 05 - Connect with TLS | Yesterday17's Blog Leaving Bytedance | Yesterday17's Blog 大橋彩香 AsiaTour「Reflection」上海公演 个人向记录 & Repo | Yesterday17's Blog Recoving from burnout - What happened? | Yesterday17 Yubikey 重建手册 | Yesterday17's Blog How To Blog 03: Heimus | Yesterday17's Blog 🪧 Blog Migration Accouncement | Yesterday17's Blog Learn Your IDE - VSCode 是如何仅重启插件的? | Yesterday17's Blog How To Blog 02: Astro❤️Password | Yesterday17's Blog How To Blog 01: Why, How, and the Future | Yesterday17's Blog Learning Pingora 04 - Establish L4 Connection | Yesterday17's Blog Learning Pingora 03 - Upstreams and Peers | Yesterday17's Blog Learning Pingora 02 - A Simple HTTP Server | Yesterday17's Blog Learning Pingora 01 - Getting Started | Yesterday17's Blog 2024 新年解密红包 / Melody Flag | Yesterday17's Blog 向新的一年飞驰——记录 2023 | Yesterday17's Blog 「サクラノ刻」对话选摘(2) | Yesterday17's Blog PGP Key Revocation 注销声明 | Yesterday17's Blog 「サクラノ刻」对话选摘(1) | Yesterday17's Blog 2023 新年解密红包 / Melody Flag | Yesterday17's Blog 『蒼の彼方のフォーリズム』通关感想 | Yesterday17's Blog 单显卡直通教程 | Yesterday17's Blog 对博客与笔记的思考 | Yesterday17's Blog Project Anni 之旅(3)自动化 Flutter 应用 CI/CD 上架流程 | Yesterday17's Blog AsobiStage 直接播放链接 | Yesterday17 如何在后分P时代进行投稿——sswa使用详解 | Yesterday17's Blog JSON RPC 与 LSP 协议基础 | Yesterday17's Blog Grajapa Shueisha / BookEnd 加密方式调查 | Yesterday17's Blog 【2022篇+WriteUp】如何再收一个新年红包? | Yesterday17's Blog 如何将良心云的良心功能清理干净 | Yesterday17's Blog 【油猴脚本】bilibili 投稿页面返回旧版+旧版页面强制允许分P上传 | Yesterday17's Blog Cloudr1v1 授权方式分析 | Yesterday17 Typora 1.0.2 逆向实录 | Yesterday17's Blog Project Anni 之旅(2)ValueAfterTable——toml-rs的实现与限制 | Yesterday17's Blog IPv4透明代理+IPv6 Passthrough——树莓派单臂软路由折腾记 | Yesterday17's Blog Chaos; Child 汉化补丁 神秘编码探索 | Yesterday17's Blog 镣铐与舞蹈——个性与共性之迷思 | Yesterday17's Blog Go 学习笔记 02 - 找准 io 之道 | Yesterday17's Blog NAT Slipstreaming v1 原理浅析 | Yesterday17's Blog 绕过「9-nine-」的 CDKEY 验证——KrkrPlugin 正(?)向实录 | Yesterday17's Blog 静流的青春纪念册——「サクラノ刻 -櫻の森の下を歩む-」体验版感言 | Yesterday17's Blog Project Anni 之旅 01 - 从 clap-builder 到 derive | Yesterday17's Blog [Google CTF 2021] CPP WriteUp | Yesterday17's Blog 获取 アソビステージ 的实际播放链接 | Yesterday17's Blog 90 行 Rust 代码实现 AsyncTeeReader | Yesterday17's Blog 或许还算有价值一读的文章列表 | Yesterday17's Blog 从零开始的 Seedbox 之旅 | Yesterday17's Blog [随笔]技术型博客行文迷思(1) | Yesterday17's Blog 浅谈 git fetch 的工作方式 | Yesterday17's Blog 『ソーサレス*アライヴ! ~the World's End Fallen Star~』通关感想" | Yesterday17's Blog Rust std::fmt 格式语法简述 | Yesterday17's Blog 日亚修改居住国的解决方案 | Yesterday17's Blog [Windows/Linux] GC553 的 Switch 完美采集之路 | Yesterday17's Blog 【翻译】Subtyping and Variance / 子类型与变型 | Yesterday17's Blog Berd's Red Envelope 2021 WriteUp | Yesterday17's Blog 【中英对照】ALSA 音频 API 使用教程/A Tutorial on Using the ALSA Audio API | Yesterday17's Blog 从 cue_scanner.l 看 CUE Sheet 的词法单元 | Yesterday17's Blog Postman 历史记录导出的解决方案 | Yesterday17's Blog 《恋爱绮谭 不存在的夏天》通关感想 | Yesterday17's Blog [微机实验/TD-PITE] 键盘扫描及数码管显示实验 | Yesterday17's Blog [微机实验/TD-PITE] 数码管显示实验 | Yesterday17's Blog Airsonic Advanced+Google Drive+Caddy 部署纪实 | Yesterday17's Blog X-NUCA 2020 - hellowasm 题解 | Yesterday17's Blog [微机实验/TD-PITE] 8251 串行接口实验 | Yesterday17's Blog Node.js child_process.fork 与 env 污染 RCE | Yesterday17's Blog EP.01 「夜の向日葵」 | Yesterday17's Blog [微机实验/TD-PITE] 8254 定时/计数器实验+选做实验 | Yesterday17's Blog [JLU CTF/2020] babywasm WriteUp | Yesterday17's Blog PHP 反序列化与经典利用 | Yesterday17's Blog WebAssembly 逆向简述 | Yesterday17's Blog 『彼女、お借りします』一期完结点评 | Yesterday17's Blog [微机实验/TD-PITE] D/A 转换实验+选做实验 | Yesterday17's Blog [微机实验/TD-PITE] A/D 转换实验+选做实验 | Yesterday17's Blog 开源项目申请 JetBrains Open Source License 简单流程 | Yesterday17's Blog 微软拼音与 JetBrains 搜索快捷键冲突的解决方案 | Yesterday17's Blog [微机实验/TD-PITE] 8259 中断优先级实验+选做实验 | Yesterday17's Blog IFTTT 测试(续) | Yesterday17 IFTTT 测试 | Yesterday17's Blog [微机实验/TD-PITE] 存储器扩展实验+选做实验 | Yesterday17's Blog 新版 GCC 针对 -fdump-translation-unit 的替代方案 | Yesterday17's Blog 一次 HSTS 策略配置的排错之旅 | Yesterday17's Blog YukiNative 踩坑记——Windows 的消息队列 | Yesterday17's Blog 我是我自己——论获取 HTTPS 证书时的验证步骤 | Yesterday17's Blog 【设计文档】对 PUG 的大规模设计修订(1.1) | Yesterday17's Blog GS65 折腾记(2)加装固态,分区,Grub2 引导 Manjaro LiveCD | Yesterday17's Blog 「さくら、もゆ。」的空白字体列表——一次逆向问题定位过程实录 | Yesterday17's Blog GSuite 探索篇(1)使用 Service Account 向 Google Drive 传输文件 | Yesterday17's Blog 『サクラノ詩 -櫻の森の上を舞う-』通关感想 | Yesterday17's Blog 《ATRI -My Dear Moments-》通关感想 | Yesterday17's Blog [工具][VSCode 扩展] AegiKit——方便 Aegisub 使用的工具箱 | Yesterday17's Blog 贝塞尔曲线、字体矢量化与曲线运算 | Yesterday17's Blog NAT 类型初探 | Yesterday17's Blog
[微机实验/TD-PITE] 微机接口综合实验 | Yesterday17's Blog
Yesterday17 · 2020-11-16 · via Yesterday17's Blog

A8255 EQU 0640H

B8255 EQU 0642H

C8255 EQU 0644H

CON8255 EQU 0646H

C008254 EQU 0600H

C018254 EQU 0602H

C028254 EQU 0604H

CON8254 EQU 0606H

SSEG SEGMENT STACK

DW 20 DUP(?)

SSEG ENDS

DATA SEGMENT

TBL:

DB 3FH ;; 0

DB 06H ;; 1

DB 5BH ;; 2

DB 4FH ;; 3

DB 66H ;; 4

DB 6DH ;; 5

DB 7DH ;; 6

DB 07H ;; 7

DB 7FH ;; 8

DB 6FH ;; 9

DB 77H ;; A

DB 7CH ;; B

DB 39H ;; C

DB 5EH ;; D

DB 79H ;; E

DB 71H ;; F

DB 00H ;; CLR

SEQ:

DB 00011111B ;; POS 0

DB 00101111B ;; POS 1

DB 00110111B ;; POS 2

DB 00111011B ;; POS 3

DB 00111101B ;; POS 4

DB 00111110B ;; POS 5

CNT_STARTED DB 00H

CNT_PAUSED DB 00H

VAL_MIN:

DB 2 DUP(10H)

VAL_SEC:

DB 2 DUP(0)

MIR_COUNTER DB 00H

DATA ENDS

CODE SEGMENT

ASSUME CS:CODE, DS:DATA

START PROC

MOV AX, 0

MOV DS, AX

;; INIT 8255

MOV AL, 81H ;;10001001B ;; A B OUT, C IN

MOV DX, CON8255

OUT DX, AL

;; MIR6

MOV AX, OFFSET MIR6

MOV SI, 38H

MOV [SI], AX

MOV AX, CS

MOV SI, 3AH

MOV [SI], AX

;; --------------------------------------------------

;; INIT 8259

CLI

MOV AL, 11H

OUT 20H, AL

MOV AL, 08H

OUT 21H, AL

MOV AL, 04H

OUT 21H, AL

MOV AL, 07H

OUT 21H, AL

MOV AL, 2FH

OUT 21H, AL

STI

;; --------------------------------------------------

;; --------------------------------------------------

;; INIT 8254

MOV AL, 00110110B

MOV DX, CON8254

OUT DX, AL

MOV DX, C008254

MOV AL, 24H ;; LOWER 8 BYTES

OUT DX, AL

MOV AL, 0F4H ;; HIGHER 8 BYTES

OUT DX, AL

;; --------------------------------------------------

MOV AX, DATA

MOV DS, AX

LO:

CALL NUM_DISPLAY

CALL SCAN

CMP AX, 10H

JE LO

CMP AX, 0AH ;; PRESS A TO START/STOP

JNE LO_NB

;;;;;;

CMP CNT_STARTED, 00H

JE COUNTER_START

;; COUNTER_STOP

MOV CNT_STARTED, 0

CALL CLR_TIME

LEA BX, VAL_MIN

MOV [BX], 1010H

JMP WAIT_UP

COUNTER_START:

MOV CNT_STARTED, 1

MOV CNT_PAUSED, 0

JMP WAIT_UP

;;;;;;

LO_NB:

CMP AX, 0BH ;; PRESS B TO PAUSE/RESUME

JNE LO_NC

XOR CNT_PAUSED, 1

JMP WAIT_UP

LO_NC:

CMP AX, 0CH ;; PRESS C TO EXIT

JE MA_EXIT

CMP AX, 0AH

JGE WAIT_UP

CALL MIN_SET

WAIT_UP:

CALL NUM_DISPLAY

CALL KEY_PRESSED

CMP AX, 1

JE WAIT_UP

JMP LO

MA_EXIT:

MOV AX, 1000H

CALL PUT

MOV AX, 4C00H

INT 21H

START ENDP

MIN_SET PROC

CMP CNT_STARTED, 1

JE MS_EXIT

LEA BX, VAL_MIN

MOV AH, [BX]

CMP AH, 10H

JE MS_SW

MOV AH, [BX+1]

CMP AH, 10H

JE MS_GW

JMP MS_EXIT

MS_SW:

MOV [BX], AL

JMP MS_EXIT

MS_GW:

MOV [BX+1], AL

MS_EXIT:

RET

MIN_SET ENDP

TIMER_RESET PROC

MOV CNT_STARTED, 0

CALL CLR_TIME

MOV CX, 3

TR_LO:

PUSH CX

CALL ZERO_BLINK

CALL DELAY

CALL NUM_DISPLAY_CLS

CALL DELAY_LONG

POP CX

LOOP TR_LO

CALL CLR_TIME

RET

TIMER_RESET ENDP

CLR_TIME PROC

LEA BX, VAL_MIN

MOV AH, 10H

MOV [BX], AH

MOV [BX+1], AH

LEA BX, VAL_SEC

MOV AH, 00H

MOV [BX], AH

MOV [BX+1], AH

RET

CLR_TIME ENDP

ZERO_BLINK PROC

PUSH CX

MOV CX, 0FFH

ZB:

PUSH CX

MOV AX, 0005H

CALL PUT

CALL DELAY

MOV AX, 0004H

CALL PUT

CALL DELAY

MOV AX, 0003H

CALL PUT

CALL DELAY

MOV AX, 0002H

CALL PUT

CALL DELAY

POP CX

LOOP ZB

POP CX

RET

ZERO_BLINK ENDP

NUM_DISPLAY PROC

CMP CNT_STARTED, 1

JE ND_TIMER

;; INPUT MODE

LEA BX, VAL_MIN

MOV SI, 0

MOV AH, [BX+SI]

MOV AL, 03H

CALL PUT

CALL DELAY

LEA BX, VAL_MIN

MOV SI, 0

MOV AH, [BX+SI+1]

MOV AL, 02H

CALL PUT

CALL DELAY

RET

ND_TIMER:

;; TIMER MODE

LEA BX, VAL_MIN

MOV SI, 0

MOV AH, [BX+SI]

MOV AL, 05H

CALL PUT

CALL DELAY

LEA BX, VAL_MIN

MOV SI, 0

MOV AH, [BX+SI+1]

MOV AL, 04H

CALL PUT

CALL DELAY

LEA BX, VAL_SEC

MOV SI, 0

MOV AH, [BX+SI]

MOV AL, 03H

CALL PUT

CALL DELAY

LEA BX, VAL_SEC

MOV SI, 0

MOV AH, [BX+SI+1]

MOV AL, 02H

CALL PUT

CALL DELAY

RET

NUM_DISPLAY ENDP

NUM_DISPLAY_CLS PROC

MOV CX, 5

ND_CLS:

MOV AH, 10H

MOV AL, AL

CALL PUT

LOOP ND_CLS

RET

NUM_DISPLAY_CLS ENDP

;; DECREASE SECOND & MIN WHEN NECESSARY

DEC_SEC PROC

CMP CNT_STARTED, 0 ;; NOT STARTED

JE DEC_EXIT

CMP CNT_PAUSED, 1 ;; PAUSED

JE DEC_EXIT

LEA BX, VAL_SEC

MOV AH, [BX+1]

CMP AH, 0

JE DS_JW_S

DEC AH

MOV [BX+1], AH

JMP DEC_EXIT

DS_JW_S:

MOV AH, 9

MOV [BX+1], AH

MOV AH, [BX]

CMP AH, 0

JE DS_JW_MG

DEC AH

MOV [BX], AH

JMP DEC_EXIT

DS_JW_MG:

MOV AH, 5

MOV [BX], AH

LEA BX, VAL_MIN

MOV AH, [BX+1]

CMP AH, 0

JE DS_JW_MS

DEC AH

MOV [BX+1], AH

JMP DEC_EXIT

DS_JW_MS:

MOV AH, 9

MOV [BX+1], AH

MOV AH, [BX]

CMP AH, 0

JE DS_FIN

DEC AH

MOV [BX], AH

JMP DEC_EXIT

DS_FIN:

CALL TIMER_RESET

DEC_EXIT:

RET

DEC_SEC ENDP

MIR6 PROC

STI

INC MIR_COUNTER

CMP MIR_COUNTER, 10H

JNE MIR6_FIN

MOV MIR_COUNTER, 0

CALL DEC_SEC

MIR6_FIN:

IRET

MIR6 ENDP

SCAN PROC

BEGIN:

CALL KEY_PRESSED ;; EXIT IF NOT PRESSED

CMP AX, 0

JE SCAN_NO_KEY

CALL DELAY

CALL KEY_PRESSED

CMP AX, 0

JE SCAN_NO_KEY

MOV CH, 0FEH

MOV CL, 0

COLUMN:

MOV AL, CH

MOV DX, A8255

OUT DX, AL

MOV DX, C8255

IN AL, DX

L1:

TEST AL, 1

JNZ L2

MOV AL, 00H

JMP KCODE

L2:

TEST AL, 2

JNZ L3

MOV AL, 04H

JMP KCODE

L3:

TEST AL, 4

JNZ L4

MOV AL, 08H

JMP KCODE

L4:

TEST AL, 8

JNZ NEXT

MOV AL, 0CH

KCODE:

ADD AL, CL

JMP SCAN_FIN

NEXT:

INC CL

MOV AL, CH

TEST AL, 08H

JE SCAN_NO_KEY

ROL AL, 1

MOV CH, AL

JMP COLUMN

SCAN_NO_KEY:

MOV AX, 10H

SCAN_FIN:

RET

SCAN ENDP

;; RETURN WHETHER KEY PRESSED IN AX

KEY_PRESSED PROC

MOV DX, A8255

MOV AL, 00H

OUT DX, AL ;; LINE OUTPUT 0000

MOV DX, C8255

IN AL, DX ;; GET LINE STATUS

AND AL, 0FH

CMP AL, 0FH

JE KP_NONE

MOV AX, 1 ;; KEY PRESSED

RET

KP_NONE:

MOV AX, 0

RET

KEY_PRESSED ENDP

;; NUM: AH

;; POS: AL

PUT PROC

PUSH AX

;; SELECT POS

LEA BX, SEQ

PUSH AX

MOV AH, 0

MOV SI, AX

;; OUTPUT POS

MOV DX, A8255

MOV AL, [BX+SI]

OUT DX, AL

POP AX

;; SELECT NUM

LEA BX, TBL

MOV AL, AH

MOV AH, 0

MOV SI, AX

;; OUTPUT DATA

MOV DX, B8255

MOV AL, [BX+SI]

OUT DX, AL

POP AX

RET

PUT ENDP

DELAY PROC

MOV CX, 0FFH

LOOP $

RET

DELAY ENDP

DELAY_LONG PROC

MOV CX, 0FFFFH

LOOP $

RET

DELAY_LONG ENDP

CODE ENDS

END START