如何阻止这种流动???很显然,旗帜在这里不起作用。意思是它需要在任何给定条件下停止(例如,用户输入字母r)。
import threading
import time
def one():
time.sleep(10000)
if __name__ == "__main__":
run = threading.Thread(target=one, args=())
run.start()
如何阻止这种流动???很显然,旗帜在这里不起作用。意思是它需要在任何给定条件下停止(例如,用户输入字母r)。
import threading
import time
def one():
time.sleep(10000)
if __name__ == "__main__":
run = threading.Thread(target=one, args=())
run.start()
我使用 NASM 创建了一个操作系统。在实现磁盘记录后(记录成功),出现了输出扇区内容的问题。我尝试这样阅读录音文本:
[BITS 16]
[ORG 500h]
start:
cli
call set_video_mode
call print_interface
call print_newline
call write_to_sector
call shell
jmp $
set_video_mode:
mov ax, 0x03
int 0x10
ret
print_string:
mov ah, 0x0E
mov bh, 0x00
mov bl, 0x1F
.next_char:
lodsb
cmp al, 0
je .done
int 0x10
jmp .next_char
.done:
ret
print_newline:
mov ah, 0x0E
mov al, 0x0D
int 0x10
mov al, 0x0A
int 0x10
ret
print_interface:
mov si, header
call print_string
mov si, menu
call print_string
call print_newline
ret
print_help:
mov si, menu
call print_string
call print_newline
ret
shell:
mov si, prompt
call print_string
call read_command
call print_newline
call execute_command
jmp shell
read_command:
mov di, command_buffer
xor cx, cx
.read_loop:
mov ah, 0x00
int 0x16
cmp al, 0x0D
je .done_read
cmp al, 0x08
je .handle_backspace
cmp cx, 255
jge .done_read
stosb
mov ah, 0x0E
mov bl, 0x1F
int 0x10
inc cx
jmp .read_loop
.handle_backspace:
cmp di, command_buffer
je .read_loop
dec di
dec cx
mov ah, 0x0E
mov al, 0x08
int 0x10
mov al, ' '
int 0x10
mov al, 0x08
int 0x10
jmp .read_loop
.done_read:
mov byte [di], 0
ret
execute_command:
mov si, command_buffer
cmp byte [si], 'h'
cmp byte [si+1], 'e'
cmp byte [si+2], 'l'
cmp byte [si+3], 'p'
je do_help
cmp byte [si], 'c'
cmp byte [si+1], 'l'
cmp byte [si+2], 's'
je do_cls
cmp byte [si], 's'
cmp byte [si+1], 'h'
cmp byte [si+2], 'u'
cmp byte [si+3], 't'
je do_shutdown
cmp byte [si], 'p'
cmp byte [si+1], 'o'
cmp byte [si+2], 'n'
cmp byte [si+3], 'g'
je start_pong
cmp byte [si], '2'
cmp byte [si+1], '0'
cmp byte [si+2], '4'
cmp byte [si+3], '8'
je start_2048
cmp byte [si], 'l'
cmp byte [si+1], 'o'
cmp byte [si+2], 'a'
cmp byte [si+3], 'd'
je load_program
cmp byte [si], 'c'
cmp byte [si+1], 'l'
cmp byte [si+2], 'o'
cmp byte [si+3], 'c'
cmp byte [si+4], 'k'
je start_clock
cmp byte [si], 's'
cmp byte [si+1], 'n'
cmp byte [si+2], 'a'
cmp byte [si+3], 'k'
cmp byte [si+4], 'e'
je start_snake
call unknown_command
ret
do_banner:
call print_interface
call print_newline
ret
do_help:
call print_help
call print_newline
ret
do_cls:
mov cx, 25
.clear_loop:
call print_newline
loop .clear_loop
ret
unknown_command:
mov si, unknown_msg
call print_string
call print_newline
ret
do_shutdown:
mov ax, 0x5307
mov bx, 0x0001
mov cx, 0x0003
int 0x15
ret
start_pong:
mov ah, 0x02
mov al, 4
mov ch, 0
mov dh, 0
mov cl, 7
mov bx, 0x7C00
int 0x13
jmp 0x7C00
start_2048:
mov ah, 0x02
mov al, 5
mov ch, 0
mov dh, 0
mov cl, 8
mov bx, 700h
int 0x13
jmp 700h
start_snake:
mov ah, 0x02
mov al, 7
mov ch, 0
mov dh, 0
mov cl, 9
mov bx, 700h
int 0x13
jmp 700h
start_clock:
mov ah, 0x02
mov al, 2
mov ch, 0
mov dh, 0
mov cl, 6
mov bx, 700h
int 0x13
jmp 700h
load_program:
mov si, command_buffer
add si, 5
sub si, command_buffer
movzx ax, byte [command_buffer + 5]
sub ax, '0'
mov bl, al
call start_program
ret
start_program:
mov ah, 0x02
mov al, 16
mov ch, 0
mov dh, 0
mov cl, bl
mov bx, 700h
int 0x13
jmp 700h
write_to_sector:
mov si, text_to_write
mov cx, 512
mov dx, 0080h
mov cl, 11
lea bx, buffer
mov al, 1
int 0x13
mov si, success_msg
call print_string
jmp read_from_sector
read_from_sector:
mov ah, 02h
mov al, 1
mov ch, 0
mov cl, 11
mov dh, 0
mov bx, buffer
mov dx, 0080h
int 0x13
lea si, buffer
call print_buffer
jmp shell
print_buffer:
mov cx, 512
mov di, buffer
print_loop:
lodsb
cmp al, 0
je print_done
call print_char
loop print_loop
print_done:
ret
print_char:
mov ah, 0eh
int 10h
ret
header db '============================= x16 PRos v0.1 ====================================', 0
menu db '_________________________________________________', 10, 13, 10 ,13
db 'Commands:', 10, 13, 10, 13
db ' help - get list of the commands', 10, 13
db ' cls - clear terminal', 10, 13
db ' shut - shutdown PC', 10, 13
db ' load <sector num> - load program from disk sector', 10, 13
db ' clock - start clock program (disk sector 6)', 10, 13
db ' pong - play the pong game (disk sector 7)', 10, 13
db ' 2048 - play the 2048 game (disk sector 8)', 10, 13
db ' snake - play the snake game (disk sector 9)', 10, 13
db '_________________________________________________', 0
unknown_msg db 'Unknown command.', 0
prompt db '[PRos] > ', 0
mt db '', 10, 13, 0
success_msg db 'Data written successfully!',10,13 0
buffer db 512 dup(0) ; Буфер для записи/чтения данных
text_to_write db 'Hello, User!', 0 ; Текст для записи
command_buffer db 256 dup(0)
如何在屏幕上显示录制的文字?
有一些SVG动画,<path>它在白色和黑色背景下沿着屏幕移动。是否可以使用 CSS/SVG,以便当 SVG 元素进入黑色背景时,其颜色变为白色?我认为可以使用mix-blend-mode以某种方式做到这一点但我还没有得到任何足够的结果。也许有人可以给出建议?
这是一个非常简单的例子
body{
padding: 0;
background: linear-gradient(90deg, #fff 50%, #00f 50%, #00f);
display:grid;
height: 100vh;
justify-content: center;
align-content: center;
}
svg{
mix-blend-mode: multiply;
}
<svg width="200" height="100" xmlns="http://www.w3.org/2000/svg">
<path d="M10 50 L190 50" stroke="black" fill="none"/>
</svg>
是否可以在不改变 html 的情况下将行的右侧部分变为白色?
我有一个 XML 结构,其中所需节点有多个值。问题是,如何检查每个节点是否满足所需的条件?我的 SQL 能力不太强,而且我找不到任何有关如何使用节点的有用信息。例如,我需要样本中一名具有 的员工person_id = 74393。如果我理解正确的话,[1]这就像数组中的索引?
XML 示例:
<?xml version="1.0" encoding="utf-8"?>
<career_reserve SPXML-FORM="x-local://career_reserve.xmd"></career_reserve>
<tutors>
<tutor>
<person_id>74393</person_id>
<boss_type_id>0x65D4E4D8749A66AD</boss_type_id>
<is_responsible>0</is_responsible>
</tutor>
<tutor>
<person_id>11111</person_id>
<boss_type_id>0x56A4BE34269174F2</boss_type_id>
<is_responsible>0</is_responsible>
</tutor>
<tutor>
<person_id>22222</person_id>
<boss_type_id>0x56A4BE34269174F2</boss_type_id>
<is_responsible>0</is_responsible>
</tutor>
</tutors>
</career_reserve>
示例请求:
SELECT
crs.id,
tutor.value('(/career_reserve/tutors/tutor/person_fullname)[1]','varchar(max)') as hrbr
FROM career_reserves AS crs
INNER JOIN career_reserve as cr on crs.id = cr.id
CROSS APPLY cr.data.nodes('/career_reserve/tutors/tutor') AS q(tutor)
WHERE crs.code LIKE '%IS-%'
AND tutor.value('(/career_reserve/tutors/tutor/person_id)[1]','BIGINT') = 74393
大约三个月前我开始使用dosbox
最初,我需要它来学习基础知识assembler
事实上,我安装了它之后TurboC,我并不喜欢它,因为我只能打开他们的编辑器,但我喜欢它,edit.exe因为它允许我自定义颜色,并且还支持鼠标
我开始对这个话题很感兴趣,并且发现有这样一件事DJGPP
我立即意识到这就是我所需要的。
我做了很多事情(在 的帮助下尝试过ChatGPT):
djdev.zipgcc.zipcsdpmi.zipPATHDJGPP路径.envcwsdpmi.exe(添加到自动执行)Hello, World!)gcc test.c)结果如下:
gcc.exe: internal compiler error: signal terminated program as
Please submit a full bug report,
with preprocessed source if appropriate.
See <https://gcc.gnu.org/bugs/> for instructions.
我想说的是,这样的结果只有在尝试编译程序时才会发生,如果我们写下,例如,gcc --version那么这个错误就不会发生
我甚至还没有提到我已经解决的所有错误。
请问,有人知道问题是什么吗?
(仅显示磁盘P,因为这是安装 DJGPP 的地方):
Диск P: (использовался для хранения программ):
DJGPP/
├── bin/ (содержимое djdev/bin, gcc/bin, csdpmi/bin)
│
├── gnu/ (gcc/gnu)
│
├── include/ (djdev/include)
│
├── info/ (djdev/info)
│
├── lib/ (содержимое djdev/lib, gcc/lib)
│
├── libexec/ (gcc/libexec)
│
├── manifest/ (содержимое gcc/manifest, csdpmi/manifest)
│
├── share/ (gcc/share)
│
├── tmp/ (djdev/tmp)
│
│ copying
│
│ copying.dj
│
│ copying.lib
│
│ djgpp.env
│
│ readme.1st
djdev205.zipgcc1030b.zipcsdpmi7b.zipset PATH=%PATH%;P:\EDITOR;P:\DJGPP;P:\DJGPP\BIN;P:\DJGPP\MANIFEST
set DJGPP=P:\DJGPP\DJGPP.ENV
如果你缺乏信息或者你不明白什么,请随时在评论中写下来,我会尽力回答一切