小编Mic*_*ael的帖子

如何在国际象棋中使用位板?

我正在制作一个基于位板的国际象棋引擎,我想问 - 假设我为每个棋子制作了一个位板,我该怎么办?我读了一些关于一些技术的内容,比如如果你将棋子位板向左移动 7 和 9,你会得到一个代表他们攻击的方格的位板,但我该如何使用它呢?或者如何使用车位板或主教位板?比如他们的目标是什么,如果我找到了它,我如何将它与其他块位板连接起来?我已经搜索了好几天了,但没有找到足够的答案......谢谢

64-bit chess bit-manipulation bitmask bitboard

3
推荐指数
1
解决办法
2803
查看次数

即使我确实为变量设置了初始值,数据段也没有被初始化

我已经编写了一个代码,它应该生成某种数字列表,但是即使我确实为它们分配了初始值,我的数据段变量也没有被初始化?

这是DS:0000我运行时的样子: ds:0000

这是我的代码,但数据段只保留垃圾值:

MODEL small
STACK 100h

DATA SEGMENT
    size1 dw 0000h
    arr dw 20 dup(0000h)
DATA ENDS

CODE SEGMENT
ASSUME CS:CODE, DS:DATA

sidra_rekursivit proc
    mov bp, sp
    xor ax, ax
    mov ax, [bp+2]
    ; tnai azira
    cmp ax, 1
    je azira
    
    ; tempo
    mov cx, ax ; save ax
    shr ax, 1
    jnc zugi ; if zugi

    
izugi:  ; else
    mov ax, cx
    ;multiply by 3
    shl ax, 1
    add ax, cx
    ;end multiply
    ; add 1 …
Run Code Online (Sandbox Code Playgroud)

assembly initialization dos memory-segmentation x86-16

1
推荐指数
1
解决办法
50
查看次数