You can call Comment withing <cmd>
vim9script
def g:Comment(m: string)
if m == 'v'
var l1 = line("'<")
append(l1 - 1, ["assert(0);", "#if 0"])
var l2 = line("'>")
append(l2, ["#endif"])
else
var l1 = line(".")
append(l1 - 1, ["assert(0);", "#if 0"])
var l2 = line(".")
append(l2, ["#endif"])
endif
enddef
map \cm <CMD>call Comment(mode(1))<CR>
Or this one
vim9script
def g:Comment(line1: number, line2: number)
var l1 = min([line1, line2])
var l2 = max([line1, line2])
append(l2, ["#endif"])
append(l1 - 1, ["assert(0);", "#if 0"])
enddef
noremap \cm <cmd>call Comment(getpos('.')[1], getpos('v')[1])<CR><ESC>
https://asciinema.org/a/uzzEAJiy2zdtHigNQiikiqz16